There's no intrinsic reason for either www or non-www (or http
/https
) to perform better than the other. The issue, usually, is content duplication arising from a site being accessible on both.
WWW non-WWW
For instance, if you site resolves on both http://thomas.com
and 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.
HTTP/S
Sites resolving on both http
and https
is an SEO problem for essentially the same reason. In general, each page should be accessible on either http
or https
, not both, depending on which is suitable to the security requirements of the page.
301 Redirects
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 http
/https
, etc.).
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.