There's a fixed cost to put a transaction onto the card brand networks. Recurring includes dunning management which retries failed auths. If you rolled your own, you'd be paying for the declines.
Stripe is charging extra 0.5% for the billing feature, so a billing charge goes in the US with stripe 3.4% + 30¢. It could be done for 2.9% + 30¢ + 5¢, stripe will still get the its cut, but not the extra 0.5%.