Don't know if it'll show up today, but often there's a bit of debate on whether these cleaners &/or optimization apps are snake oil &/or possibly toxic. In case it helps...
You can make a cake from scratch, you can use a mix, you can visit the bakery, or you can skip the cake entirely. Windows maintenance is pretty much the same thing. You can do it yourself, which requires a bit more work & knowledge -- you can use an app like PC Win Booster, which is easier but not as good -- you can pay someone else to do all the work for you -- or you can just forget about it entirely, which is what a huge number of Windows users do [you're in the minority just thinking about Windows housekeeping].
Files... Everything your PC [or laptop or tablet etc.] stores is in files that are kept on the hard drive(s) or non-volatile memory [ http://en.wikipedia.org/wiki/Non-volatile_memory ]. Since the amount of storage space is finite, the amount of data [& the number of files] you can store is limited -- sooner or later some of the old files have to go away to make room for new ones, or as an alternative, you can often just replace the hardware where they're stored, transferring all the files to something with higher capacity.
Temporary files are just that, usually created by software as a place to store data, particularly during installation & uninstallation, & ideally, well behaved software will clean up after itself, deleting those files when it no longer needs them. It too often doesn't though, & Windows includes a utility called Disk Cleanup that will at least empty Windows' Temp folders where by default those files are stored. Cleaning software will not know about or find every oddly named or oddly stored temporary file -- it's your job to keep track of that sort of thing if you want -- but it helps to keep Windows' Temp folders cleaned out.
Leftover files are generally what's left behind when you update or remove a program. No software will find 100% of these, nor is it always safe to remove them. Generally if you update the version or remove an app, if there's an old folder left behind with just logs & similar you can get rid of it. Web browsers store a copy of everything you see in that browser, & that cache has to be cleaned -- you can use a separate app, do it manually [usually in the web browser], sometimes set the browser to empty the cache when closed, or just rely on the maximum cache size you set in the browser preferences, & it'll delete whatever's necessary to keep the cache within that limit. Downloaded files are stuff you, or the software you used, download to save for whatever reason, e.g. a bunch of pictures or MP3 files, & those are up to you to keep track of. If you're prone to download lots & lots of stuff you may pick up more than one copy of the same MP3 or video or whatever, & that's where duplicate file finders [included in PC Win Booster] might come in handy. You don't want to use a duplicate file finder on program files [e.g. .dll files], as you stand a very good chance of breaking something -- just because file "X" is in folder "Y" does not mean any software knows to look for it there.
If your PC has a 1 TB hard drive, & Windows takes up 20 GB or so, you can add a Lot of software, store a huge number of files before that drive fills up -- lots of people don't worry about getting rid of files they no longer want or need, and they don't suffer for it. Some people start to fill up their drives because they download everything under the sun, & that type of behavior does increase risks & can often lead to problems, but it's their behavior, not neglecting to delete old files that's usually to blame. Power users &/or techs may fix a lot of PCs with loads of garbage on the drive, & they may come to associate those problems with all those old, garbage files -- what they don't see is all the PCs with just as much garbage on the drive that still run fine, because no one had to ask for their help.
Defragging... Files are actually made up of little bits and pieces of data that Windows [or whatever OS] chains together into the files themselves. It's nice when the separate chunks of data making up a file are sitting next to one another in order, but it's not necessary -- think of ripping all the pages out of a book & flinging them around the room... you still have the book, & you can still read the book, but it's a bit more work. That's what a basic defrag does, basically putting that book back together in its binding. Why do you need it? Because when files are written to drives there may be a little room here, a little room there, & the rest of the file goes somewhere else on the drive. Over time the fragmentation adds up. Why are there so many, competing defrag apps? A standard hard drive reads data faster from some parts of the platters or discs where it stores data than others, so if you figure out what data Windows needs most often, & put that on the faster part, Windows &/or your software should speed up. Different defrag apps make different guesses as to what that most often needed data is, and rearrange everything on your drive accordingly. Two people using their PCs differently generally aren't going to get the same amount of benefit from the same drive optimization -- that's where SSD caching can help, *if* you regularly do the same things all the time on your PC, because it watches what files are read most & puts a copy on a SSD. That capability is included on some motherboards & in Hybrid hard drives.
Windows' Registry... The registry is a database where all sorts of data is constantly being both read & stored by Windows & whatever software you have running. Like any collection of data, the more you have the longer it takes to read everything, BUT, practically speaking the amount of time we're talking about with the registry is pretty tiny -- in win7/8 it takes an awful lot of registry entries added before things slow down noticeably, and you have to remove a similarly huge amount before anything speeds up so you'd notice [other than a placebo effect anyway :) ]. When it comes to adding data to the registry there are best practice sorts of rules, but nothing is enforced, so any coder or developer can put pretty much whatever they want wherever they want it. That point is important, because if I don't have to follow any rules, you can't begin to know what I've added unless you sat there & watched me add it. And, unless you knew how I designed my app & how it works, you can't know the purpose of anything I add to the registry either. Software is dumber than you are, so if you don't, can't know that stuff, how can some registry cleaning app figure it out? It can't, & in fact it doesn't even try.
Registry cleaners look for common problems, e.g. something Windows or a particular app most always leaves behind, & they look for broken references or links, e.g. if a line in the registry includes a file name & it's location, and that file isn't there, it's considered broken. The registry also includes something called CLSIDs [e.g. HKEY_CLASSES_ROOT\ CLSID\ {00000000-0F56-11D2-9887-00A0C969725B}]. That CLSID is for the Sony ExpressFX Chorus, & that key includes the file's name & location along with some other data on how it works. Elsewhere in the registry that id's listed, but not the file responsible or any of that stuff, so if I delete that 1st, CLSID key, those other, incomplete listings are likely useless. Registry cleaning software might pick up on that, say here's this CLSID mentioned but the main key is missing, so it's broke. Here's the problem with that... What if a coder [programmer] decides to use what looks like a CLSID but really isn't? A registry cleaning app might figure it's broken because there's no matching CLSID key & want to delete it, & that might break that app, in fact is exactly how some registry cleaners have broken apps when I've used them in the past.
Another downside to registry cleaners is they can be pretty inefficient... A single registry key may contain a dozen or more values or entries, but have only one line with the name of the program's main file -- if I uninstalled that app I want that whole key to go away, along with all its entries, but a registry cleaner, not knowing I'd removed that app, will most often propose just deleting that one line. And, once that line's gone I may have no way of ever finding that key to delete it afterwards, since it won't show up when I do a search in Regedit.
That doesn't mean you should never use a registry cleaner -- that's of course up to you. They do find legitimate problems along with the false ones, and are considerably faster than the more thorough manual approach. The main thing to remember, to ask yourself, is are you OK if Windows won't start afterwards? If you ran an ERUNT backup of the registry & know how to restore it if/when Windows fails, you're probably OK -- same with a full partition image backup. If you're relying on the cleaner's registry backup, assuming it works 100%, how are you going to use it if you can't start Windows?