First, it's not uncommon for the valve to stick (usually due to dirt in the lines). If the problem seems to be only one or two zones, this is probably your problem. Depending on the type (manufacturer), you should be able to pick-up a valve repair kit for a few dollars.
If it's a case where the entire cycle repeats itself, it's probably as Steve mentioned, and your controller may be going bad. Before doing ANYTHING, check the program(s) - it's possible that your unit has a battery backup (like a 9 volt), and perhaps this is bad, causing the unit to re-program itself. If everything checks-out, try to re-program, and run it through a bunch of short cycles on a day you're home. This way you can observe the functioning and determine if it really is screwing-up.
If you have to replace the controller, it's a pretty easy job - just 2-wires control each zone valve, and the unit plugs-into a wall outlet. Make sure the one you purchase has at least as many zones, and follow the instructions.