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.

The only real downside to a redirect is that there is a small performance hit, however since the redirect should only happen once and from then on all internal website links should all point to the correct www/non-www http/https URLs throughout the site with no further redirections. After search engines have taken note of the 301 redirect headers, there should be no redirects happening at all unless people manually type in an incorrect variation and in which case the redirect will point them to the correct page URL. Getting this right for the long term effect is far more important for SEO.
–
richhallstokeNov 18 '14 at 13:17