Don't forget that there are cases where there is a difference - when you're dealing with objects that have strange copy/assignment semantics.
auto_ptr<>
is the classic example - pass those around by value without thinking about the consequences and you may end up with a mess.