Port mirroring, while possible even on cheap switches such as the Unmanaged Plus NETGEAR ProSAFE GS105Ev2 or the even better Easy Smart TP-LINK TL-SG108E, is a gamble due to timing and loss. It is very possible to configure a scenario where a long-term-running port mirror can continue to copy frames for months at a time without losing frames. You probably want to use an undersubscribed network with high-end Juniper Networks or Cisco gear, though, with good clocks and/or NTP configuration.
For taps, you can avoid oversubscription and switch max-CPU problems. If the switched network becomes problematic such as a spanning-tree event, you can still capture all of the relevant frames. Port mirroring can also cause a lot of packet de-duplication which may raise the CPU of switches to unwanted levels.
There are many tap vendors with a variety of different layouts and configurations. I suggest that you read this article -- http://packetpushers.net/practical-visibility-fabric-part-1/ -- which mentions the four major players in that space as well as gives plenty of background on how to go about building a visibility fabric, i.e., a place where you can configure a set of monitors such as network intrusion detectors.
An additional suggestion is to monitor and test the performance of your capture infrastructure with a tool such as -- https://github.com/adulau/netbeacon