Actually, it does cost Sprint money. If a credit card charge is declined the card issue charges Sprint a fee. Failed billing is actually a huge issue for telecommunications companies.
I wrote billing software for a large telecommunications company and dealt directly with this issue. Something like 40% of all attempted credit card charges failed for one reason or another. That is a lot of money lost to no good end.
I implemented the system which would attempt to authorize (not withdraw) one month's worth of billing from new credit card signups. It is amazing how many people hit their credit limit when you check to see if $45 is there. And even then a large number of those who pass that check will fail to pay their bill when you attempt to charge.
Asking for (and storing! WTF) SSNs to sign up for a service contract is heinous, I agree. But there is a *lot* of money lost to attempting to charge the credit cards of people who then fail to pay their bills.