Mayank ... this was helpful. You simplified the way SQL Server performs routine index operations. I hope all application vendors read what you wrote.
I have had experience with mainframe and Unix databases (in addition to SQL Server). The difficulty is, if a vendor learned about indexing on Oracle or DB2, it doesn't work the same as on SQL Server. That is the problem I have for a major purchased SQL Server app we use that was originally developed on Oracle. The vendor created all the tables without the benefit of a clustering index. Yes, they created NCIs on the tables, but I told them this is only helpful if NCI is a covering index. Otherwise, it will still have to read through the heap -- row by row. Because Oracle and DB2 use RID pointers from the NCI index page to go directly to the data page, you can get away without having a clustering index. But it will definitely be problematic in SQL Server.
BTW, I am still waiting for the vendor to add clustering indexes. I would do it myself, but my shop has a Best Practice to not modify the vendor's code for fear that they won't provide support. Meanwhile, we have sucky performance. 🙁
Vendor developers/DBAs: are you listening???