I think it's because a lot of people don't understand p2pool.
1. When they visit a node. They think oh there is only 1 miner on this p2pool. How will we ever find a block? What they don't realize is that when any node finds a block. They get paid for it (that is of course if you have found some shares).
2. Another thing that I like is that with p2pool. If a node goes down you can simply connect to another node (via --failover-only) and pick up where you left off. You won't have to build up your payout again. You can't say the same thing with normal pplns pools (if they go down. You're out of luck!)
3. It's completely transparent. You don't have to trust the node owner and the fee can always be easily found by typing /fee at the end of the port #.
http://mine-emc2.com:41876/fee
4. It's completely decentralized. No need to worry about one pool owning all the hashing power.
5. Usually the node is more efficient than a regular pool. So many times you will be paid more mining on a p2pool node then a regular pool.
6. You can set any pseudo share difficulty that you want. For example if I was mining at 1800 Kh/s. I would do this: 1800 * 0.00000116 = 0.002088 and attach that at the end of your wallet address like this:
ESKQypc4JdzfChEvnSjtu3fNMND1iJNrYF+0.002088
7. You don't need to register for an account and can just use wallet address.
8. The only thing I haven't mentioned is that if you decide to give it a try I have found that setting the queue to 0 scantime to 1 and expiry to 1 yields the best results. But, only use a p2pool node if your miner is always up and running and you are not hopping all over the place.