This is my off-the-cuff reason list to use a separate switch:
(1) To not have as much investment in a single box. If one breaks or I want to upgrade, there less of a $ hit.
(2) To be able to connect directly to the cameras.
(3) To be able to have the NVR and switch in separate locations. (Non-POE NVR is pretty quiet. POE NVR has noisy fan. Switch can be either.)
(4) Can use distributed switches if desired instead of requiring all home runs for camera cables.
(5) Can use managed switch if desired.
(6) Costs less if using a good used switch.
I got a used Cisco switch off of ebay. Small business switches are plentiful and cheap. The major advice I have is to check the power consumption before you buy. Some of the older switches are power hogs, while the newer ones are "green". I have a 28 port switch, using it for 14 cameras and the home network. I'm using 26 of the ports. The only advantage I see for using the POE NVR is for somebody who doesn't have at least a little bit of networking knowledge, and doesn't want to learn. A lot of the complexity is managed automatically by the NVR with the built in switch. The separate subnet security comment is valid, too.