There are always more than one way to do one thing in any programming languages. In SQL Server there are always more than one way to achieve same result set. It is quite often I see that developers write subqueries in place of joins or joins in place subqueries.
I recommend to read my previous article SQL SERVER – Better Performance – LEFT JOIN or NOT IN?, which describes how to convert subqueries to Joins and Joins to subqueries.
Reference : Pinal Dave (http://blog.SQLAuthority.com)