The site: command counts all URLs associated with the site, which is not the same as all pages of that site, or all indexed URLs. Some examples of URLs which are counted in the site: command:
URLs temporarily deleted with the URL removal tool
URLs from other sites doing a 302 hijack of your site (should be fixed by now)
Obsolete URLs which have still links to them from other sites and which Google visits now and then just to see of they are active
Links to your site with typos in it i.e. www.yourdomain.com/fiel.html instead of www.yourdomain.com/file.html. At one time I had many copies of my sitemap in the SERPs because I used the sitemap as my 404 page. Except for the original sitemap they now all went supplemental, but Google still counts them.
URLs that have been marked with "noindex,follow".
Google keeps track of many more URLs of your site, but I don't know if these are counted in the site: result. For example, if you have a 301 redirect from domain.com to www.domain.com, then Google must know that domain.com/file.html exists, but is equivalent to www.domain.com/file.html. So there has to be some database record or field somewhere with information about domain.com/file.html, but I don't know if this one inflates the number in the site: command.