RAID operates on two basic levels: Striping and Mirroring.
All the different RAID types exercise either/or in different fashions, some even combo like RAID0/1.
Striping is a common method, which would begin with RAID0, that spreads information across multiple disks so as to allow them all to work cooperatively to read/write data. This results in a good performance increase, but poorer stability. If even one drive in this array goes, you're hooped.
That's where Mirrors come in, these begin at RAID1. This is the opposite of striping in that it copies the information so all the disks are holding the same data. This isn't faster, by any means, but it provides the redundancy necessary to compensate for possible drive failures.
All of these can be accomplished via Software or Hardware controls. Hardware being generally superior, and supporting the ability to do things like RAID0 the OS, which you can't do with the Software version for fairly obvious reasons.
That wiki article will give you more of the specifics.