The power comes from the stator batt or not when you roll start. Think of it like a small engine. They have a coil and then the flywheel, on that flywheel is a magnet, when it passes the coil it fires. Thats how most electric motors work its wires in a magnet field. Thats pretty much what a stator is. The coil part of it is bolted in, on the crank is magnet or pick coil part when those two pass they create the signal of field needed for the spark.
When you use the starter it will not spin fast enough to send or pick up that signal. Roll start your rpm's are faster and stronger than the starter. The start may spin it half of what you idle at, roll start is what ever the rpm's for first gear are, so thats why it roll starts. It spins faster creates a better signal for stator thus making a better spark.