Have you done any testing on the battery or mower? You do need proably at lest a 300 cranking amp battery for most mowers over 20 hp. I would load test the battery. I would check to see if you are getting power to the start terminal on the starter solenoid when you turn the key. If power is at the start terminal, then its the solenoid. (And you probably have a Kawasaki engine on your mower. They seem to have mower solenoid problems than anyone else.)
If your battery is good and for being good I mean it carries a current load without falling on its face, not just puts out 12 volts on your volt meter. And you are not getting power to the start post on the solenoid, you either have a bad ignition switch, a bad relay, a bad safety switch, or something is failing to transmit current to the solenoid at certain times.
It could also be as the other post said, corroded battery termials, battery cable ends, both ends: bad ground or bad connection at starter. Bad ground on the cheaper Cub Cadets is very common, where the ground cable goes to the frame rather than to the engine. (The fix is another ground cable from the negative battery post to the engine itself.)
There are also probably some other possibilities, but these are the first ones I would check.