Ultimately, there is no difference: both "types" of encryption will end up running some software on top of some hardware so this is mostly a marketing argument.
How an encryption stack works exactly depends, of course, from case to case and it is very important to review the details.
For instance, some hard drive will implement some encryption layer in the BIOS of their controller that will force every write done to the disk to go through that encryption layer no matter what the computer the disk is connected to supports or does. The same, however, can be achieved without any direct support from the hardware by using full disk encryption.
Both "type" of solution typically have the same performances since modern CPUs are fast enough to process the encryption/decryption streams faster than the read or write speed of even fast SSD drives (i.e. the encryption isn't the bottleneck).
Typically, all solution will offer roughly the same algorithm - frequently, AES in CBC mode using a diffuser: it's standard, royalty-free, well understood and has known security properties. The most important element to consider when looking at a disk encryption solution is the key management: how are encryption keys generated, stored, accessed and managed. This is where "software" based encryption usually shines: having access to a "richer" environment (especially so is there is some OS support or access to specialized hardware installed on the machine - like a TPM chip) which can lead to a better experience and more secure key management.