https://support.stripe.com/questions/does-stripe-support-aut...
https://support.stripe.com/questions/does-stripe-support-aut...
Having a customer allows you to charge the user without entering in their info each time.
EDIT: I built beaconreader.com which is a crowdfunding site and we use stripe. One thing to note about creating customers is that on the backend Stripe (and other payment providers) tells the banks that it's a recurring charge, even if only charged once, which I believe allows them not to deal with the auth and capture step. I could be wrong, but there's something like that lets processors get away with it.
This could result in the funds not being available when the payment is submitted, but is still a much cleaner implementation and does not require that you hold funds and leave the period at the mercy of the bank.