There's no intrinsic reason for either www or non-www (or
https) to perform better than the other. The issue, usually, is content duplication arising from a site being accessible on both.
For instance, if you site resolves on both
http://www.thomas.com, then a search engine could index both versions, people can share and link to both versions… the effect being that the potential value, in SEO terms, is divided.
Sites resolving on both
https is an SEO problem for essentially the same reason. In general, each page should be accessible on either
https, not both, depending on which is suitable to the security requirements of the page.
These problems are routinely dealt with via 301 permanent server redirects, whereby users and search engine robots are transferred to the preferred, or "canonical", version (i.e., with or without www or
The reason for using 301 redirects is that they tell search robots that the redirection is permanent. That means they can transfer value (backlinks, PageRank, etc.) to the destination of the redirect.
So yes, a redirect is sufficient if used correctly. However, wherever possible, you should ensure that links within your site always go to the preferred address and, as a result, people (and robots) usually don't need to be redirected.
Your SEO company might have good reasons to recommend against using redirects, but as a guard against www and http/s duplication issues, they shouldn't normally be a problem.