To elaborate, Windows does its best to keep you from having much free memory. Over time, you should reach a point where very little of it is free. Ideally, you should have as little free as possible, without having so little free that every allocation or commit involves cache searches or evictions.
Cached memory is in use, but most of it can be discarded, and committed to an application that needs more memory. Some of it is dirty, and needs to be checked out, and changes written, so that memory won't be given to applications quite so readily.