1. If the food is bad, you have the right to complain. This doesn't mean you need to chew out the server and yell and scream (as some people feel entitled to, which is just immature and rude). However, you should bring it up to your server and they should do whatever they can to rectify that. A lot of the time the issue is new kitchen staff messed something up, in which case you're doing the restaurant management a service by alerting them to problems in the kitchen.
2. What your friends did is disgustingly dishonest and they should be ashamed. Society is definitely experiencing a major integrity crisis. Kids just aren't being raised properly and it shows in their adulthood.
I've seen people try to pull that kind of garbage. They finish off their entire plate and then at the end complain it was bad and demand to be comped.
You should get some new friends, and don't hesitate to bring such issues up to your server in the future. Good restaurants appreciate the feedback and if you're at a fancy joint you should expect a higher standard of service.