Why are hard drives not limited to sizes of a power of 2?
The answer to this is hinted at in a similar question on Superuser. 

In short:


Memory DIMMs connect directly to the CPU.
There are usually multiple memory modules (but there can be only one).
Multiple modules combine to make one linear address space, e.g. 0-8GB.
Memory is accessed directly by the processor, which has special hardware to speed up access.


Therefore it is advantageous to tie memory access to dedicated hardware that can quickly switch between multiple modules. By using powers of two it's possible to build dedicated circuitry in the easiest manner. 

In contrast:


Hard drives do not connect directly to the CPU.
Hard drive volumes are not typically addressed directly. There is a file system and maybe other logical abstractions like LVM, RAID, etc.
Even in configurations where multiple drives are used (e.g. striped RAID) you never read "off" the end of one disk and into another. Multiple drives do not combine into a linear address space. 


Therefore it makes little sense to tie hard drive sizes to a power of two. Access to the raw hardware is already slowed slightly by lots of other factors, creating fancy hardware optimised to a power of two is not going to help.