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.
The Fiesty(sic) Goat Brewery est. 2007 & Clusterfuggle Experimental Ales est. 2009
Primary: Saison, Berliner Weisse, sLambic I, sLambic II, IPA, 70/-
Secondary: Orange Blossom Mead, Flanders Red I
Kegged: Fat Man Porter w/ 1469, Fat Man Porter w/ 005, Centennial Falcon w/ Conan, Centennial Falcon w/ Denny's, Barrel-aged Fat Man Porter, Belgian Dark Strong, Dark Mild