Muslin are cheap and meant to be tossed after use. Nylon is meant to be reusable. It's really a personal preference generally. If you brew a lot the $0.50 muslin bags will eventually cost more than the $5.00 nylon, but no cleaning required.
I use 5-gallon nylon pain strainer bags (which I picked up from Lowe's or Home Depot) exclusively. They cost like $1.50 a piece, are reusable, easy to clean (give them a rinse and let them dry - once dry, the rest of the grain and hop particles will dust right off) and do a great job as either grain bags or hop filters. They also have 1-gallon sizes.
Edit: For hops, I just stretch the opening of the bag over the lip of my brew kettle, throw some stainless steel washers in the bag to weigh it down, and then add my pellet hops in there. That way, they get plenty of agitation but can still be easily removed.
I use the 5 gallon paint strainer bags as well when I have a lot of hop additions. I use the 1 gallon paint strainer bags with the end tied in a knot for when I do three or less hop additions (or I can't find the 5 gallon bag)