Way back in the mythical and idealistic past a Release Candidate was something that you actually intended to release unless a significant new issue was found with it. It gave users confidence that you were nearly done and that they could start planning to use it with confidence. Versions that weren't finished were called things like alpha or beta so that users knew that they used them at their own risk.
This of course was clear and well understood. Thus marketing types on seeing this immediately decided that they had to kill it, because well informed users are less likely to make irrational purchasing decisions. Hence more and more things started getting called Release Candidate. Some project plans even started to have multiple numbered release candidates on them. Of course these were just renamed alpha and beta releases but this didn't bother the marketers who got to fool people into thinking the product they were selling was further advanced than it really was. Over time the meaning of Release Candidate has been lost as it becomes harder and harder to work out if the version in question is actually likely to be released or merely an alpha version in disguise.
At this point I have to admit that the above is a nice story and certainly has some truth to it, but the debasement of what it means to be a Release Candidate is due to more than just marketers. Development teams need to take a large portion of the blame as well. But admitting that doesn't allow me to imply all marketers are evil. From an end user perspective however I don't care who's responsible. Just stop it. Here's a rule: If you don't think it's pretty much entirely finished and ready to be shipped it's not a Release Candidate. It's a beta release, or an alpha release, or a preview release, or one of thousands of other options. Be honest now or expect people to not believe you in the future.
This message brought to you by the Campaign To Admit The Real Progress On Your Damn Project.