The difference between the terms is as follows:
Storage : Usually refereed to back end storage units such as EMC, NetApp, Dell Equallogic. The few I named can present themselves "storage" to VMware in such a way using iSCSI, FibreChannel, or NFS. These are protocols which allow VMware ESXi to connect to the storage units.
Volume : Usually refers to space allocated on a storage unit. It is a logical section carved up. For example, when you make a volume on a dell equallogic,and present it to VMware, it is then formatted as VMFS which allows it to be usable.
Datastore : This is a logical container that holds VM files within VMware. So, taking that volume from the storage unit, and formatting it as VMFS will in return create a Datastore where VMware can store its files. Same principle if you presented a volume to Windows as iSCSI and formatted it NTFS. It is then a drive letter with space available to be used.
Hope this helps.