tl;dr: Last paragraph.
There's some confusion here about the various things that can create a RAID or RAID-like device. Let's discuss the options in order of preference and performance.
Best first: Real RAID cards, from vendors like LSI, Areca and others. These cards usually have dedicated memory for caching and almost always have an optional battery backup unit. The BBU provides power to the cache, so that in the event of an unexpected loss of power, any data that hadn't yet been written to disk won't be lost. Some cards won't let you turn on the write cache unless a BBU is installed. Some of these cards have even more advanced ways of increasing performance. For example, many new LSI cards have an optional add-on called "CacheCade," which can use an SSD for read caching. Real RAID cards also allow you to assign spares, and can automatically begin rebuilding the array in the event of a drive failure.
Next up is OS-provided software RAID. Linux and certain editions of Windows can create devices using various RAID levels. Software RAID is an adequate solution in many cases, but it has a few drawbacks. First, some editions of Windows can't boot off of Dynamic Disks, the feature that creates software RAID. Some (mostly older) Linux distributions also have problems booting off of software RAIDs. Second, software RAID lacks that delicious hardware-backed write cache. It won't save you from data corruption caused by a sudden power loss. Third, depending on the workload and RAID type, it can consume a non-trivial amount of CPU time. This is especially true when using a RAID type that does parity, like 6. I'm not sure about Windows, but Linux's software RAID also allows you to allocate spare drives.
Next is firmware/chipset-based RAIDs, like LSI's 1068 and Intel's "67", "68" and "77"-based RST. Like hardware RAID cards, they expose normal drives to the OS, and don't need drivers to perform basic operation. All of the I/O operations, including parity, are done from within the firmware itself, meaning that they don't use CPU time. Unfortunately they also don't come with any of the benefits of a dedicated hardware RAID, like a write cache or a BBU. It's unfortunate that older Intel RST has a reputation for being flaky and finicky. Firmware RAID usually does not let you allocate spare drives. Unless you do something silly and use RAID 0, you probably won't see any performance improvement using a firmware RAID.
Finally, and worst of all, is fakeraid. There are two classes of fakeraid. The first doesn't require drivers, but usually only exposes RAID 0 and 1. The second requires drivers for all operations, and does everything in software. Fakeraid can be found in inexpensive addon cards, in some cheap consumer-grade NAS devices, and even on some motherboards (usually with an AMD or Nvidia chipset). Like firmware RAID, you almost certainly won't see a performance improvement with fakeraid.
Your question deals with the middle two options: Windows software RAID versus Intel's firmware RAID on a Z77 board. Normally I'd say it's a performance and reliability wash, as both options have proven themselves in the real world and don't overtly suck. As it doesn't look like you're using the mirror as a boot device, I'd usually say that Windows software RAID is probably the most sane way to go. However, the 77-series Intel firmware RAID has a trick up it's sleeve: it can use an SSD as a cache, when you install the optional driver. That is, caching is only available when the driver is loaded. The array itself is always available. If you feel like sticking another SSD in your system, it might work out well.