The where clause usually scans the results of any joins and filters those, thus potentially making it slower. However, with modern query optimizers, this could potentially be pushed earlier into the join process, making it just as fast/equivalent. I just opt to go for the more "correct" route of joining during on so I don't have to worry about what the optimizer is doing.
Note: the where clause can also have all kinds of conditions on the join such as
where t1.id = t2.id OR t1.pickmynose = 'TRUE'
This is why its available there (I think), but shouldn't be used unless needed.