It isn't.
ViewState is stored within the page itself, in a hidden form field. That's useful, in scenarios where the state is effectively transient - WebForms relies on it by default for control state - but the only way for it to actually persist across page loads is by forcing a postback each time a request is made to the server.
The query string is part of the URL - changing the query string changes the URL. Requesting a URL where page state is stored in the URL will preserve that state. Therefore, there is potential to preserve state even across sessions or between users - a URL can be bookmarked and requested again later, sent via email, etc. Of course, this state is attached to a single page, as part of a single URL - if it is needed by another page, it must be transferred manually (by appending a query string for that page) or via some other means (cookies, POST data, server-side session data). And of course, if you don't want to preserve state across time and space... or your state is very large... query strings are not appropriate.
Note that logically, both ViewState and state stored in query strings are page-specific; although they can be forewarded to another page as part of a GET (query string) or POST request (ViewState), the browser will not by itself associate them with requests to separate pages, nor will it update these states when returning to a previous page. The small amount of extra security afforded to ViewState (as Erik notes) - may be why Mr. Smith recommends it for storing user-specific state on a single page. However, hacks to make them work cross-page aside, this per-page attachment generally makes cookies (or server-side session state indexed by a client-side cookie) more appropriate for holding state that is specific to a given user or session but not specific to any single page.
Personally, i've never found ViewState particularly useful - it's fragile and places severe restrictions on how navigation can be performed. However, if you're sticking to a pure WebForms postback/redirect model, it can be made to work effectively (as the framework will handle most of the ugly details for you). Be aware that trying to do too much on a single page can lead to very large amounts of ViewState and correspondingly slow load/reload times for your users.