just posted this response elsewhere and thought I should post it here so it is easy to find when asked again later.
A LOT of depends on what hub is right for you. So far I've BOUGHT and installed, in order, SmartThings, Vera Control, Ltd., Iris by Lowe's, Hue, 3 more Veras, Amazon Echo and HomeSeer Home Automation to replace my X10 based system first installed in the 1990s. Vera can be easier to do simple stuff like turn on a fan when it is warm cause everything is an app in SmartThings. If there is one already that does what you want, great, if not you need to write one. Vera mainly uses a wizard of if this or that happens do this. You only write code for "complex" stuff like this AND this happens do this. Both Vera and SmartThings seem to be having a lot of stability issues lately. So much so I looked into Homeseer. Homeseer can do if this and/or that happens do this which is a bit simpler than Vera but the interface is aimed at installers not end users. They assume you will create an end user interface if needed with an optional designer tool. I'm a long time developer so the basic Homeseer interface is fine for me. It is way more expensive than than SmartThings or Vera though. That said, I now have moved all my day to day stuff onto Homeseer, shutdown my all my Veras and am just using SmartThings as a backup channel to my Hue lights. Homeseer also allows you to have and control multiple z-wave networks from one hub over Ethernet. For instance I can control my house and shop from in one screen now and do things like turn off or on all the lights in both places with one command. No matter what you go with I'd suggest you try and stay with devices that work with most hubs. One of the things I really like about Hue lighting is they will connect to multiple hubs at the same time. I would avoid anything that wants a monthly fee like Lowes Iris. (Iris has a bunch of other issues too. AVOID.) Read reviews! I would try and minimize having to go to the net for stuff too. For example another selling point for Homeseer to me is local login and actions. Other than IFTTT interactions of course. (Note Vera has no IFTTT or Echo support. Homeseer and SmartThings do.) SmartThings is mostly in the cloud and even Vera wants you to log on via their web site. You also might want to think about install base. Google some of the things you want to control and see how others have done it on the hubs you are thinking about. In the end you will probably end up having to write at least some code once you get into things deep enough so you should look at those interfaces and see which make sense to you. Oh one last thing, think about how the hub / interface will handle a hundred or more devices even if you only plan to do a few things. Most of the interfaces seem to be made for a dozen or two devices at most without getting slow and/or clumsy to use beyond that. You will be amazed how many things you end up adding after you get started. My current Homeseer is monitoring and / or controlling 678 things including monitoring 17 UPSs. And I'm not close to done yet! (Note a single device like an Aeon 4in1 sensor counts as 4 to 5 things depending on the interface.)