1. It doesn't have to be a cname, www.site.com could be pointing to one ip address and site.com pointing to a completely different ip with different content, or they could be on the same ip with different content. (A records)
2. The www portion of the address is the "host" portion. It is very conceivable that there are many hosts within a "domain".
3. For example in the IIS world, sites typically get set up with host headers and the configuration would be for an individual site to respond to both www.site.com and site.com. ( by way of example a popular control panel for windows (en?m) sets up sites this way by default.
4. Google is not confused just getting picky.:)