Why aren't pools just banned?
Or limits put on pools?
Pooling can't be limited or banned because there is no admissions control on mining. Everyone can mine without asking permission, and if it were otherwise it would be a point of centralization.
Or another solution provided?
There is, P2Pool, which is a fully decentralized mining pool based on the same technology as Bitcoin. Unfortunately a lot of miners operated under an
incorrect understanding of mining where they believe their income is proportional to the size of the pool that they are on based under a misunderstanding of mining as a race instead of as a poisson process and so they try to mine at the biggest pool. As a result we've seen a continual churn where a large pool gets a lucky run and appears larger than it is on some charts and then people flock over and it bloats up, then people freak out.
The fact of the matter is that "51%" is hardly more concerning than 40%. If a party controlling 40% hashpower tries, they'll successfully reverse 6 confirms 50% of the time. That someone could control so much hashpower by compromising a single party or system is thoroughly outside of our security model, even if it isn't quite "51%".
In any case P2Pool suffers for four reasons: (0) It's moderately small, so none of the people who misunderstand mining as a race will use it. (1) It's poorly misunderstood and frequently hit with FUD: people saying it has poor income (actually no, its all time income is 107% of expectation) or high orphans (actually, in the last several months it has had something like 0.1% orphans, an order of magnitude below other pools) (2) it takes more effort to setup, you have to run a Bitcoin node with it, (3) it takes more resources to run— there are people with tens of thousands of dollars of mining gear running it off a crappy flaky raspberry pi— it makes no sense, but thats how it is P2pool needs a reasonably competent (e.g. strong laptop or a desktop machine) hosting the miners to really work well.
Related to (3) is that P2Pool has no snazzy marketing or slick webpage. There are other pools with pool-fee income over half a million dollars per month that can afford some snazzy UI work, but P2Pool is a volunteer open source work funded by donations when its funded at all.
There are _other_ ways to to do more decentralized mining. The GBT protocol offered by Eligius and a few other pools was intended as a start for making the classical centralized pooling models more decentralized but it has not been widely adopted. If it were you could have things like miners generating their own work and only using a centralized (and potentially distributed) pool to coordinate sharing payouts... but there is basically no active work on that right now.