In the game of Warhammer 40k, all the rules are listed in the big black book, the codexes, and some games workshop faqs.
There's no rules beyond that.
If someone spent time and effort, and figured out a powerful combination of units and upgrades, then by all means they should be able to use it.
It's a game after all. In chess, I rarely see people coment, "you can't use the Queen, it's TOO CHEESY"
Therefore, there's no extra rules beyond the codex, main rule book, and faqs.
Cheesy is subjective to people's opinions. I've long since realized that everyone's perception on the subject is different, and it's pointless to base YOUR army on other people's perceptions.
Every army in 40k can also be beaten, whether due to bad rolls, a counter unit, terrain, or deployment.
Every army is also themed to a certain extent.
I can see an 18 assault cannon army fit into a theme.
example,
Space marine sergeant:" You know what, I really like assault cannons, how about everyone take assault cannons today"
Space marines: " sure, why not"
--------------------------------------------------------------
So, Cheese is just a term made up by sore losers who can't stand losing.
If you lose to a powerful army,
You could do several things.
1. Make your own army better, look online for army lists for ideas, make your army much more powerful than before.
2. Make a counter army, find out your opponent's weakness. Ex. assault cannon Terminators are vulnerable to mounted daemonettes.
3. Whine about how cheesy your opponent's army is. In hope that you'll annoy him so much that he'll stop using it.
Therefore, cheesy is just a term made up by gamers that hate losing, but can't put in the time and effort to make a powerful army themselves.