The problem is that the normal hard-working Joe can't afford to put himself out there to fund a campaign. It's gotten so ridiculous that you can't even consider running, even locally, without millions in backing.
We have salary caps in sports. Why not implement salary caps on campaign dollars?