My understanding is that pools pay participants based on the number of "near misses" they submit while the pool itself is only able to post a successful block if one of the participants submits a hash that meets the current difficulty level.
What's to stop a peer from reporting all of its near misses but keeping the winning hash for itself if it happens to find one? This seems like an ideal strategy since the peer is guaranteed a payout from the pool for all the blocks it doesn't get based on its share, but will also get the full payout for the few blocks it does happen to get.
If you contribute a pool, you can withhold shares that meet the difficulty criteria, yes. But you cannot use them to win the 50 BTC only for you : the solution only works for the pool.
This is not really a problem on proportional-type pool, it just makes the round longer. But it is very dangerous on pay-per-share-type pools : by withholding solutions, it's like the pool is always having "bad luck", and the pool operator always pays more than 50 BTC per round.