How to keep home automation complexity under control?
It sounds like you're using keypads to control sets of lights. Two important things:

Label the buttons well and Keep it simple and consistent.

For example, if you're using scenes, have the buttons say the name of a scene that makes sense, depending on the location. If there's a keypad in the hallway outside the kitchen in the living room, make sure it's clear which scenes control the kitchen, and which control the living room. Also, if you're using scenes, avoid mixing button types; eg, having "dim" and "bright" buttons in addition to scenes is confusing.

I'd also echo @Rob Napier's point that reliability is a huge factor. If you press a button and it "sometimes" works, it will just lead to frustration (in effect: don't use X10). 

Also along the lines of being consistent, pick one or two different types of switches, and stick to those. If you have a mix of toggle switches, rocker dimmers, 6-button and 8-button keypads, it's just going to be confusing. Standardize on a manufacturer and style, and stick to it.

The other obvious thing is really talk to your users. Make sure you know what they typically do, and adjust the system appropriately. Maybe they always go into a room and want a certain light on at a certain level, but you never do .. make sure you talk to that person so you know to set it up so it works they way they expect.