My experience with rocks as a filter is good and bad. It works very good to slow water movement and let the dirt settle. However it quickly gets filled in between all those cracks with the dirt, and then it just flows over the top of all the stone and becomes ineffective as a settling field. Then its hard to remove the stone to clean up and start again. Stones are good to get a quick foothold to the dirt so it doesn't wash away instantly till plants could grow.

Grasses, plants, etc, will filter and get covered up same as the rocks, but they will resurface and grow on top of that soil to create another layer of filtering.