brief explination of the various memory definitions:
(thanks to android central)

FOREGROUND_APP: This is the application currently on the screen, and running

VISIBLE_APP: This is an application that is open, and running in the background because it's still doing something

SECONDARY_SERVER: This is a process (a service that an application needs) that is alive and ready in case it's needed to do something

HIDDEN_APP: This again is a process, that sits idle (but still alive) in case it's needed by an app that's alive and running

CONTENT_PROVIDER: This is apps that provide data (content) to the system. HTC Facebook Sync? That's a CONTENT_PROVIDER. So are things like the Android Market, or Fring. If they are alive, they can refresh and provide the content they are supposed to at the set interval. If you kill them, they can't of course.

EMPTY_APP: I call these "ghosts." They are apps that you have opened, but are done with them. Android uses a unique style of handling memory management. When an activity is ended, instead of killing it off Android keeps the application in memory so that opening them again is a faster process. Theses "ghost" apps use no battery or CPU time, they just fill RAM that would be otherwise empty. When this memory is needed by a different application or process, the RAM is flushed and made available for the new app. To satisfy the geekier people (like myself) Android does this by keeping a list of recently used apps, with the oldest apps in the list given the lowest priority -- they are killed first if RAM is needed elsewhere. This is a perfect way to handle 'ghost' processes, so there's no need to touch this part

I assume this is one of the tweaks various ROM developers play with when they build out there ROM's. The great thing is with this tool you can change it as you wish. The only thing I don't really know how to do is find out what the current ROM one is on, is preset to, the app itself seems to have default set to the app itself, and not read the ROM's default settings.