For someone who is new to the subject of Home Automation, the hardest choice they have to make is choosing the right controller. There are several controllers on the market, and new ones are coming out every day.
Some popular ones are:
MiCasaVerde - Vera 3 and VeraLite – http://www.micasaverde.com
Homeseer - http://www.homeseer.com/
Both of these systems use the Z-Wave protocol in a wireless mesh network to communicate and control devices in your home.
There are other systems out there based on the older X10 or the newer Insteon, but they either use the power lines in your home to communicate, or a hybrid of power line and radio signals to communicate.
No matter which system you use, each will have its own inherent strengths and weaknesses. I recommend that you read up on each of the protocols, and decide for yourself which one you are willing to use.
I personally use a Vera 3 to control a small network of Z-Wave devices in my home. These devices include light switches, dimmers, thermostats, and motion sensors. (Note: The Vera 3 does have the ability to control X10 and Insteon devices with additional hardware.)
Additionally, you can interface your Vera system with many of the popular alarm systems (DSC, GE, etc.). This interfacing will give you access to the additional sensors and other controls of your alarm system for use.
I chose the Vera 3, since it allows me to use Lua to program it (adding additional functionality to the system), it has a strong user support forum for help, and there are already a large number of plugins available to interface the system with services such as Google Calendar, Weather, etc.