The idea for designating different storage devices with simple letters is generally attributed to IBM's virtual machine operating systems developed in the 1960s, starting with their CP-40 and CP/CMS systems, and later very notably, among others, copied by the CP/M operating system created by the company Digital Research, Inc. In the early systems (CP/CMS) the letters were used mostly to designated logical drives, although later (such as with CP/M), they were used to specify physical storage devices.
This all brings us to 1980 when IBM attempted to use the relatively popular CP/M operating system on the IBM Personal Computer. Talks broke down between IBM and Digital Research, Inc, for reasons not totally clear today. The trouble is rumored to have started when Dorothy Kildall, the wife of CP/M creator Gary Kildall, refused to sign a non-disclosure agreement with IBM at the start of the negotiations. She supposedly told them she would not sign such a document without speaking with her husband first, who was out of town on business. This was a somewhat unusual move as Gary often left such business negotiations to her anyway.
This refusal to sign the non-disclosure agreement, which purportedly greatly annoyed the IBM representatives, was all supposedly at the advice of Gerry Davis, Digital Research's attorney. But given this sort of thing is standard practice for many business negotiations, the whole thing seems decidedly odd looking back, with those involved not helping with their conflicting accounts.
What happened after isn't any clearer. Gary Kildall later claimed, upon returning from his little business trip, he and his wife reached a handshake agreement with IBM's representative, Jack Sams, while aboard a flight to a vacation the couple were taking. He claimed IBM didn't honor that agreement. Sams said that none of that ever happened.
Whatever the case, what we do know for sure is that IBM moved on from the then relatively popular CP/M to instead dealing with Microsoft, who in turn purchased a license to a CP/M clone called 86-DOS. They then adapted 86-DOS for IBM's new PC, with a few significant changes thrown in, and branded it MS-DOS, though called PC DOS by IBM.
Being based on a CP/M clone, among other things, MS-DOS borrowed the disk drive lettering schema from CP/M, which had borrowed it from the aforementioned previous IBM systems. By copying many elements of the CP/M system, it allowed popular software packages that could run on CP/M to be relatively easily ported over to MS-DOS and used on the new IBM PC.
This all brings us back to the specific drive lettering schema. Early PCs didn't usually come with internal mass-storage devices due to the expense ( though HDDs had been around since the 1950s). Instead, they generally had some form of a “floppy” disk reader, such as those used to read 5 1/4”³ floppy disks, initially labeled as “A” in MS-DOS and certain other operating systems. Some systems came with two such floppy disk drives necessitating the need for a “B”. When the 3.5”³ floppy disk (which wasn't actually floppy at all unless you took it apart to get at its innards) was commonly added, using both “A” and “B” for floppy drives was firmly entrenched.
When hard disk drives became standard in most PCs in the later 1980s, since the first two letters were already commonly used for these floppy drives, they logically labeled the third storage device “C”, even though it now tended to be the main storage medium for the computer, including usually containing the operating system.
Despite that exceptionally few systems today still contain floppy disk drives, this schema of drive designation has stuck around anyway, with “A” and “B” often still by default reserved for floppy drives. Of course, these letters aren't set in stone on modern systems and you can easily change, remove or add drive letters (representing both physical and logical drives) if you have administrative rights.