Indeed... I think this little source
might explain it a bit, that free software and open source aren't essentially "free" or "open" in the way people like to think about it. This also gives the distinction between the two as well.
To simplify it, open source is about the availability of the source code, Open Source just refers to the Source code availability. Red Hat's Source code is in fact freely distributed but due to all the copyrighted material in the source code is not freely reusable. CentOS takes the RHEL source code and rewrites out all the Red Hat copyrighted materials and logos. As a result CentOS is very much like RHEL but is behind on updates (three to four weeks) and freely available to use.
I think it's quite easy to forget that a lot of serious developments require funding... people need money to live after all and so it's quite natural that RHEL charges for it's support, from what I am to understand they are very good at it, but most people can't afford the support RHEL charges for and that's why CentOS and a couple of other projects that do similar things are around.
I would lastly point out, if your after a server CentOS will be fine, however if it's a home desktop you are after, I would suggest Fedora. Fedora is very similar to RHEL as it was originally developed by Red Hat until it was released by them and is what RHEL is continually built off of.