When should nonclustered indexes be stored on separate filegroups?
The slowest part of a DB system is the disk drives. Eliminating bottlenecks at the disk level will improve performance. When data is being looked up and an index is used, the index is first looked up and then the corresponding data is fetched. If both the index and data are on the same disks, then there is some contention happening. Whereas, if the data were on a different (physical) disk, then there is faster IO happening, thereby increasing performance. 
The main part to note is that the data or index are on separate physical disks or LUNs. 

You would use such a scenario if you need to get better performance out of your system, provided you have the disks. For your perfmon counters you could use Physical Disk – Avg. Disk sec/Read, Physical Disk – Avg. Disk sec/Write, Physical Disk – Disk Reads/sec, Physical Disk – Disk Writes/sec to have a before and after comparison of your changes.