On many lawn mowers, the spark is generated when magnets in the flywheel pass the armature of the coil. It's pretty common for some rust to form on the flywheel and/or the armature of the coil causing them to touch. If they touch, you won't have sufficient spark.
Remove the tin cover to expose the flywheel, and use some sandpaper to sand the flywheel clean. If you see the armature of the coil, sand it clean where it's close to the flywheel. I try to run a piece of fine-grit sandpaper in between them.
There could be other problems (bad coil or bad electronic ignition module) but start with the simple inexpensive stuff.