Kornstein999: Subqueries discusses the relative merits of subqueries. Why drive yourself crazy with a subquery when you can just join tables using the WHERE clause?
It seems much simpler to me to just connect tables using the WHERE clause. Maybe it's just me, but I would prefer to avoid subqueries as much as possible. And in a lot of cases, you can avoid them. I just don't see why someone would prefer to use one.
Frankly, in cases where there are multiple ways of doing things, people usually choose one preferred style. However, (inner) joining tables through the WHERE clause does not always lead to the result you want. In particular, inner joins limit you to cases where your results are characterized by the presence of some combination of attributes across multiple tables. If you want cases that exclude that combination, you must first do a query that selects the combination and then another query that selects everything from the original set that is not in that combination.
A concrete example is contained in this conversation between myself and Hail to the Victors.