Theorycrafting generally refers to more of the side hobby of coming up with character builds. This is semi-distinct from actually playing the game. One who theorycrafts a lot ends up making up various builds for games that he doesn't really intend on playing, or perhaps is unlikely to play.
Much of the activity on the min/max parts of this board would probably qualify as Theorycrafting, though it's not a perfect fit. The Handbooks, and things like them, are actually less Theorycrafting and more just practical helpers and complications of information for people.
Note that I think the term Theorycrafting really came out of aRPGs and similar games where creating a characters takes like all of 9 seconds. There's less of a strong distinction between Theorycrafting and just playing D&D (and most other RPGs) b/c the default level of investment in just creating a character is much higher. And, also, in games like Diablo, et al. the mechanics of the game are quite opaque. So, Theorycrafting there involves unearthing mechanics through experimentation and documentation. Obviously, that's not the case with a pen and paper RPG, or at least not nearly to the same degree. The point is that there's a sharper division between playing the game and Theorycrafting in Diablo -- in the latter case you're opening up the combat reporter and doing various tests, etc.
Min/Max and Optimization pretty much mean the same thing. The problem is that Min/Max has often been tainted with negative connotations, which is what I believe led to the CharOp/Optimization terminology. Though I think the more recent nomenclature does sound a lot better.
Overall, I wholly support Arturick's definition: I generally view optimization as "tell me what kind of character you can play and we figure out how to realize it at the table." If your character is supposed to be agile and accurate, let's make sure that comes out according to the rules, if he's supposed to be doughty and tough, let's do that. That sort of thing.