What advanced features are available for sprinkler systems?
Some additional things to consider:

1) You could put a flow detector in the water line that feeds to the input side of the sprinkler valves. This way you could detect when one of the sprinkler valve has failed to work according to plan. I.E. if you detect flow when you expect the valve to be off that means there is a problem.

2) You could add timer / calendar features to your microcontroller so that you can setup a watering schedule. It could very well be that some of your sprinkler zones do not need watering every day. Secondly many times in summer certain localities may impose watering restrictions to certain week days or odd/even schedule according to house number. You would want your controller to be able to comprehend that.

3) A water controller can often be extended to assist in automating the process of keeping a bird bath, fountain or swimming pool properly filled to account for evaporation. Adding some level switch inputs to the microcontroller hardware can make it easy to regulate when the water fill operation should be started and completed. Such filling and monitoring can still be applied to a schedule as in 2) above.

4) You could add in circuitry to detect the current flow going to the sprinkler valves. Detecting no current when you've turned on the valve can indicate that the wires to the valve have become disconnected or broken. Detecting excessive current can indicate that the wiring has been damaged and the conductors going to the valve have become shorted together.

5) Many times home owners will have landscape accent lighting or sidewalk/driveway perimeter lighting. A controller of the type that you are proposing can easily be extended to provide automated turn on/off for such lighting according to a schedule. 

6) And if you go so far as to implement lighting control you can extend that to schedule the on/off cycling of other seasonal lighting such as outside Christmas lights.