Redundant Array of Independent Disks or RAID takes multiple disk drives and creates arrays that are resilient and highly available by mirroring and striping data across them. It also builds in the means to recover from disk failure using parity data.
The different ways that mirroring, striping and parity are used defines the different RAID levels. Processing is required to carry out those actions, and that can take place on the host server's OS or in the storage array or controller. This is also called software RAID vs. hardware RAID.
So, what are the pros and cons of software RAID vs. hardware RAID?
Disks attached to servers can be turned into RAID arrays using built-in features on a number of operating systems. This is software RAID. All you need to do is connect the drives and configure the RAID level you want.
Software RAID does its processing on the server motherboard. This adds to the processing load and could slow down the RAID calculations and other operations carried out on that device. RAID 0 and RAID 1 place the lowest overhead on software RAID, but adding the parity calculations present in other RAID levels is likely to create a bigger impact on performance.
Numerous server OSes support RAID configuration, including those from Apple, Microsoft, various Linux flavours as well as OpenBSD, FreeBSD, NetBSD and Solaris Unix. Herein lies another difference: with software RAID you'll be restricted to the RAID levels your OS can support.
Software RAID is often specific to the OS being used, so it can't generally be used for partitions that are shared between operating systems.
With hardware RAID, because the processing work is done on a discrete controller card in the server or at the level of the storage subsystem, there's no added load to the server processor and buses. There will likely be more advanced features, such as drives being hot-swappable in case of failure. Hardware RAID is more expensive than software RAID, but offers better performance and interoperability.
Whether software RAID vs hardware RAID is the one for you depends on what you need to do and how much you want to pay. Hardware RAID will cost more, but it will also be free of software RAID's performance limitations.