In my limited experience, there are weak players at all levels. However, it is very difficult for anyone to answer the OP's qestion because it is far to general. Sets are profitable at any level, but there are way too many factors to discuss to answer this question throughly.
That being said, the underlying value of a set is in the ability to get paid off when you make one. If you have to call half your stack to see a flop, a set is never going to be profitable. However, if you just limp in, it may be unprofitable also because it may be difficult to get a lot of money in the pot without exposing your hand.
Set Mining TIP#1
Always, and I mean ALWAYS, make sure your opponents, whether they raised or not, have a big stack if you are going to play for a set. And make sure you have a big stack too. In a $2/$4 NL game, if you are sitting there with $500 in front of you and you are "set mining" vs. a table full of $200 stacks, you are losing money. You simply won't get paid off enough when you hit to make it worth it.
Set Minint Tip #2
If you play a pair from late position in an unraised pot, consider raising even small pairs at least half of the time. The pots you pick up from continuation betting, everybody folding preflop, or actually having your pair hold up at showdown, will compensate nicely for all the times you miss and are bet off the pot. Plus, when you play a raised pot and flop a set, your hand is usually disguised and it is MUCH easier to get someone to put in their stack since, because of the raised pot, your post flop bets will be bigger enabling you to "milk" your opponents stack over several streets.