In some cases (e.g. elements that trigger JS events but aren't real links or buttons) an I-beam may appear. In these cases cursor: pointer; is quite beneficial, though cursor: default; (not the same as "auto") may be appropriate.
But the web != your OS. Many things that work and are expected on the desktop, such as double-clicking, right-clicking, and dragging, are considerably more rare online, where there are a different set of expectations and, as you mention, affordances.