This may sound really dumb, but last year (my first full season with a pool) I started running into the same problem. The water would be clear, but the bottom dirty, until I vacuumed. Then the bottom would be clean, but the water would be clear. A few hours later, the bottom was dirty, and the water was clear again. I thought I had a filter problem, and replaced all the sand in my filter. (Sound about right?)
Turns out, I was just vacuuming too fast. I was really just stirring things up with the vacuum, not really sucking much out. This year, I've been vacuuming REALLY slowly. Much better. :-D