It's not about hating on popular or fun songs. Something being "generic" is looked down upon because it shows laziness and a lack of original thought. It's always more fun for music listeners to listen to something fresh sounding rather than another unimaginative mega hit all done by the same producer.
cheap (adjective): informal: of little worth because achieved in a discreditable way requiring little effort
Generic has come to mean pretty much the same thing, but I think it also carries a connotation of "following trends" or "sounding like everything else."