You are absolutely right. Reachability only checks whether a certain host is reachable or not. The problem is, that without sending a request to a host there is no way (that I can think of) how to determine whether you are connected to the internet or not.
So what you can do (and what Apple is doing in its Reachability example): Choose a host where you can be 99.99% sure that the host is available. Like for example google.com or apple.com
I think the fact that apple is relying on a certain host to be available to check internet connection (and the fact that they haven't come up with something else, without dependency on a certain host) is a pretty good sign that checking internet connection in this manner is not such a bad idea.
EDIT
Of course the best way (as described in the answer to the question that Petesh is pointing to) would be to simply make the request you want to make and then handle errors accordingly if they occur. In other words: 1. Make your request 2. If it fails use Reachability to see if a missing internet connection might be the problem