This way a new instance of List<T> will be created with the elements of the IEnumerable<T>, which has an impact on the performance. This won't be crucial for most applications, but it's still something to keep in mind and mention in the post. I too prefer to use an extension method, but this does the job.
Yes. You right. It's an important issue to remember when using LINQ. Especially when dealing with databases (like with LINQ to SQL or LINQ to Entities), a call to ToList can cause transfering a full table's data and, probably, for nothing.
This alternative was posted (more than 3 years ago...), as a response to the original tip which, in my opinion, has a little mismatch between its title and its content.