It's not so much that RAID 5 needs a hardware RAID card - rather it just needs decent software.
Of course, with a hardware RAID card, the card will have some highly optimised firmware installed on it's CPU.
For example, a core i7 CPU running a modern good quality software RAID 5 or 6 system (e.g. as found in linux) can out-perform high-end RAID cards on the same system by a worthwhile margin (10-20% extra sequential throughput and 10-15% extra IOPS) at the cost of modest CPU (1 core of an i7 is good for about 1GB /s write throughput) and RAM usage.
The problem is that motherboard 'fakeraid' isn't optimised - it's basically, barely good enough to work.
A big problem with RAID 5 is that small writes (smaller than 1 complete stripe) must be translated into write - read - write. However, this shouldn't be a problem for large sequential writes (if the write fills an entire stripe, then there is no need to read the strip to modify it, you just overwrite the whole stripe) - however, I can easily see uber lame RAID drivers reading the stripe before overwriting it.