oh boy what a question, it has quite a history with me, this will take some time hehe, here i go :
most of you probably had the nes or gameboy and knew that certain games were just so darn difficult it was almost impossible to complete them so after a while i just quited playing them, until one day i saw an add on the television for the "game genie" a device that (in my case) would sit between the gameboy unit and the game cartdige itself. It would show you a screen where you had to enter some numbers and you gotten unlimited life.. I said what the hell is this i want that, unfortunatly they were quite expensive and hard to find, until i finally found one for the gameboy and bought it. A complete new world went open since i could replay and finally see the ending of some of my older games which i never played anymore and besides that sometimes get some extra's which wouldn't been possible without such device. I was very happy and i even amuzed myselve many many hours with just entering random game genie code's just to see what effect it would generate...
At that time though i had no idea that the game genie and such codes would alter the memory of the gameboy at a specific address it was only when i had my first playstation (1) and bought myselve an Xplorer (nowadays it's called xploder or something) cheat cartdige which you had to hook up to the back of your playstation, that i figured that out. You see the xploder cartdige had a parralell port so could hook up the device to your pc and used a special tool from the creators of the cardtidge to do all sorts of stuff including finding / creating codes yourselve... It was really simple all you had to do was search for the number of lives you currently had and you got a list of memory address that had that value, you died on purpose and repeated the search with the new value, eventually you only had a list with a few addresses and tried changing those (in real time while the game was running) to see if you had find the lives address and thus the unlimited lives cheat code for a certain game.
These were fun times, since a whole community existed who found such codes and shared em between each other, nowadays this isn't possible anymore since sony, nintendo and microsoft don't like it when you can look at the memory (for security purposes) so obviously this wasn't possible anymore. If some of you visited my site you can still see the Xplorer code(s) and Game Saves section for the playstation 1 =:)
anyway now that i knew how these kind of devices all worked i started to wonder if this was actually possible on the computer itselve, so i fired up my usual search engine (altavista at that time) and did some research, and came to know some new words like "Trainer", basically a trainer is program that alters another process (program) memory, hey that's just wat i needed, then i looked up stuff how they were programmed (peek / poke command's) etc eventually i found a nifty program called tsearch which worked just like those old xplorer cartidges but for pc programs / games and i could relive my old fun days again.. so i created a few trainers..
At that time i was very intrested in emulation, one of my favorite emulators was the zinc arcade emulator that emulated games like the 3d street fighter games etc. Since there was no cheat support build in the emulator i went to on and ran my goold old tsearch friend to find a few codes , i wasn't sure if this would work with emulators and such since i thought the addresses wouldn't be at the same offset each time due to the emulation but i was amazed it did so making a trainer for it would be possible after a year of playing messing around and programming i ended up with one of the first and (only as far as i know) trainer for the emulator that had a whooping 284 cheats for a total of 51 games. (still availible on my website and still being used by users, although recent pc's are fast enough now to run the games in mame though)..
so You asked if i ever cheated on games ? and i say hell yes i do, and i love(d) creating cheats of my own as well