It should be logical that you have a better chance of winning against a bad poker player than a good poker players. And, the idea of playing poker is to win and have fun. Then why do many players prefer to play against a table full of good players than with a table full of bad poker players?
Reason 1: It's more of a challenge playing good poker players.
Sure it is more of a challenge, but unless you enjoy losing then stay away from the good players. If you walk into a Las Vegas casino and see a table with several pros like Phil Ivey and Howard Lederer playing, you would also find a wait list of players eager to join in with them.
However, if you are looking to actually make money then find another table. If you just want to brag to your friends that you dropped last month's paycheck to Phil Ivey then go ahead. If you are serious about playing poker resist the urge to play against good players in cash games, and seek out the fish.
Reason 2: I suffer too many bad beats against bad players.
Okay, you will undoubtedly get sucked out on the river a few times if you are playing against a bunch of donkeys, but you will also see a lot more action when you have a great hand.
Say you have pocket aces and flop a full house with a flush draw on the board. Good players will not pay you off as much trying to outdraw a made hand. However, you can expect the bad players to call all the way down to the river even though they are drawing dead.
Overall it is much better to get a lot of action and suffer a couple of bad beats, then to never get any action.
If you are serious about playing poker for money then seek out the bad players. It is easy to find the fish online with poker player tracking software. In a casino it can be harder; so look for people that are just there to have fun. They will usually be drinking, and they will be playing almost every starting hand. If you learn to find the bad players your success at poker will increase greatly.