Hardware RAID presents logical disks that are already configured to the system (or the SAN), mirrored and ready to go. Configuration is still required, but that configuration takes place outside the system. Under software RAID, that configuration is performed in the system.
Since hardware RAID work is done outside the system and the OS, it can support more kinds of systems. You could, theoretically, connect a disk array that does RAID to a Palm device, without the Palm knowing anything about RAID. (Don't try this at home, kids.) Software RAID is limited to OSes on which the disk management application can run.
Is one better than the other? It depends on your needs, and on the cost. The end result will be the same. RAID-1 will give you mirrored disks that provide protection against the failure of a disk, regardless of how it is implemented. The biggest difference you are likely to see between the two is that software RAID tends to be slower than hardware RAID. However, you are likely to find that putting an additional CPU in your server to speed up software RAID is less expensive than implementing hardware RAID on custom hardware.
This was first published in December 2005