The proposal makes it pretty clear that it’s just for self-documentation:
This paper proposes
observer_ptr, a (not very) smart pointer type that takes no ownership
responsibility for its pointees, i.e., for the objects it observes. As such, it is intended as a near
drop-in replacement for raw pointer types, with the advantage that, as a vocabulary type, it
indicates its intended use without need for detailed analysis by code readers.