Making the choice between hardware and software RAID really depends on your needs and your budget.
RAID controllers can be hardware-based or software-based, both offering advantages and disadvantages. A RAID controller is a hardware device or a piece of software that essentially manages the drives in an array, supporting the specific RAID level, of which there are many.
A hardware-based RAID system utilises a physical RAID controller, which may take the form of a PCI or PCIe card, and manages the RAID configuration independent of the operating system. This means that no processing power is taken from the disks it is managing. Sometimes, hardware-based RAID controllers are referred to as RAID adapters. However, if a physical, hardware-based RAID controller fails, a compatible one must be acquired in order for the data to be accessed.
Software-based RAID uses the hardware resources of the host system, and can be draining on memory. While it provides similar functionality as hardware-based RAID, software-based RAID's performance is typically not as strong. The main advantage of choosing a software-based RAID setup is the lower costs, as no specialist RAID controller card is required. However, as noted above, it is important that the host system is capable of running the RAID software, without negatively impacting on performance. Some operating systems will provide software RAID capabilities built-in, for example Windows Server's Storage Spaces feature. You can also purchase third-party RAID software, such as SnapRAID and FlexRAID.
So how would you decide whether a hardware-based RAID or software-based RAID approach would suit your needs better? If you're on a tight budget, and you're using RAID 0 or 1, there really won't be much of a difference which one you choose. But if you're using a more complex setup such as RAID 5 or 6, you should opt for hardware-based RAID, because these setups can noticeably hamper performance. If your budget allows for it, then hardware-based RAID is definitely the way forward.