The main difference between the motherboard-based RAIDs (Intel Matrix, for example) vs external/PCIe-based raid controllers is that internal ones are supported by the operating system directly. Meaning you can install any OS without requiring specific drivers or software like with the external cards. In fact, you can boot from the RAID setup with any OS just fine (although there may be some firmware bugs still). If this is something you are interested in, consider the Intel Matrix motherboards.
How They Work
External/PCIe-based cards on the other hand require specific drivers to work properly and raid array management software as well. Unless you are using Windows or a specific Linux distribution like OpenSolaris, you will have to use these drivers and software for any OS install.
Finally, you may also want to look at your future needs. If you are going to build a server that is harder and harder to upgrade as time goes by, it would be better for you to use an internal RAID controller which will allow you to update only when you need storage expansion. On the other hand, if you are building a mainstream workstation or multimedia/gaming system where storage upgrades will happen very often, external cards might be a better choice since they can be swapped out and replaced easily. A new $300 Seagate 3TB drive with 10krpm spindle speed could provide more performance than any motherboard based controller because its bottlenecked by the SATA bus and not by the PCIe.
I would also like to mention that there are no real performance differences between motherboard-based vs external raid cards if your card supports Native Command Queuing (NCQ) or not (most do). For example, even though a 3ware 9500s using NCQ can perform up to 36% more disk operations per second in 4K blocks than a non-NCQ enabled controller when 16 concurrent requests are made, this fact does not mean that you will see higher random access performance. This is because it takes much more time to issue one command over the wire than it takes for the drive itself to finish its task.
In other words, instead of issuing 36 commands simultaneously, you will be issuing 1, 3, 6 or 12 depending on your IO size while waiting for the rest of the commands to complete. So no matter how fast your controller is (faster controllers can issue more than one command in parallel), it will never be faster than a single drive because that’s all what matters here :).
Capability and Features
Again, if you are going to use an external card with Windows or OpenSolaris only then you have much wider choice of raid card capability and features (like hot-spare support) than when you build them into the motherboard. On the other hand, if you want better Linux support/features and/or simply don’t need all those fancy features available on most external cards like mail notification or extra SATA ports for optical drives, then you’d probably want to go with the internal cards.
Finally, there is also a slight difference in the power consumption between motherboard-based RAID and external/PCIe-based raid card but I don’t think that’s going to make any significant difference in your choice. Really, it comes down to cost vs performance for me.
Which is Cheap?
The motherboards are typically cheaper but you’ll have to pay more on storage upgrades when needed (on the other hand, they usually come bundled with memory). External cards on the other hand are much more expensive when purchased separately but their resale value is much better (for example, selling an old 3ware 9500s non-RAID card will be worth almost as much as if it was still new on eBay).
Another difference is that motherboard-based controllers tend to cost less (either standalone or bundled with the mainboard). On the other hand, not everyone can afford ~$400+ for a good raid card (even cheaper ones are usually in the $180-200 range).
I would rather build it into the motherboard for the convenience of having everything in one place. However, if you can afford it, a PCIe card would be better since there is no other way to get RAID capability under Windows