An index lookup is two random reads wearing a fancy coat. The first is the B-tree descent: a series of page reads, one per tree level, each deciding which child pointer to follow by comparing the key. That's the part everyone draws. The second read is the heap fetch — following the row pointer stored in the leaf to the table page itself — and it's the one everyone forgets. This diagram shows both, plus the two ways the second read disappears: a covering index makes the leaf entry sufficient, and a miss on the leaf means no heap access at all.
The order matters because each stage decides whether the next happens. The planner's selectivity estimate decides whether the index is used; the descent decides which leaf is read; the leaf decides whether the heap is touched. Index design is really about making stage six unnecessary as often as possible.