Let me look at it from a server virtualization perspective. The idea behind server virtualization is to create multiple logical "machines" on a single physical server. Suppose I have a single physical server and I create 20 virtual machines on top of that. If the server only has one or two HBAs, and all of the storage is connected through those HBAs, there will be a serious I/O bottleneck at the storage controller. So bad in fact that IT folks had to reconsider the number of virtual machines they could apply to a server. This started to impact the server virtualization side. Without storage virtualization, the industry has been addressing such bottlenecks using N_Port ID Virtualization (NPIV), which essentially divides the HBA into logical pieces that can be coupled to each virtual machine, eliminating the storage bottleneck.
Check out the entire Storage Virtualization FAQ guide.