As the Internet was coming into its own, during the early 1980s, hackers that didn't want their websites, newsgroups, etc, to be picked up in a simple keyword search began using numbers to replace certain letters (mostly vowels) such as A = 4 or E = 3.
At this point, l33t speak was only known to a select few and only used when necessary. However, in 1994, id Software began to add Internet connectivity to Doom and Doom II, leading to a revolution in PC gaming and also to the rise of l33t speak.
As with any type of competition, 'smack' talk became prevalent in online gaming. Phrases such as 'I am elite' became common place, and somewhere down the line l33t speak crept in, reforming the phrase into '1 4m 3l1t3' in order to demonstrate that the speaker was a hacker and someone to be feared. It was further exaggerated by purposeful bad spelling and eventually wound up as something like this, '1 4m 3l33t!' and simplified to, '1 4m 133t'. Hence the name 'l33t speak'.
But eventually, l33t speak began to fall out of use because of the amount of time it takes to type, as well as the overuse of it by some, changing it from amusing to annoying.
l33t Hits the Big Time
l33t speak was still relatively unknown to the Internet masses at this point. It had almost disappeared from gaming entirely. However, a very popular web comic called Megatokyo brought l33t speak into mainstream with its infamous speak l33t? comic. These days l33t speak is very well known to the hardcore Internet community (especially gamers).
Grammar or Lack Thereof
As you've already seen, basic l33t is just replacing vowels with numbers:
A = 4
E = 3
I = 1
O = 0
However l33t is a very flexible 'language' and you can go from this very basic l33t, to ultra 1337 by being creative; a few examples:
O = ()
U = |_|
T = 7
D = |)
W = \/\/
S = $
There is no agreed-upon way to write l33t, so it's up to you whether or not to go with light l33t, medium 1337, hard |_337 or even ultra |_33¯|¯. In this entry, 'l33t' is used except when referring to medium, hard or ultra '1337'.
Other Grammatical Oddities
The -0r clause can be used in place of -ed or -er, for example '1 0wnz0r!' (most commonly seen in ultra 1337 as '1 0\/\/|\|z0r!') rather than '1 0wn3d'. However it can also be used like this, '1 4m l33t h4x0r!' (in ultra 1337, '1 4|\/| |_337 |-|4x0r!') rather than, '1 4m 4 133t h4ck3r!'.
As a general rule, in l33t, rather than use 's' to make something plural, a 'z' is used instead. Also 'f' is normally changed to 'ph'. The short 'u' is often changed to '00', as well.
Punctuation is usually left out with greater consistency as the level of l33t increases. Full stops are left out entirely because, when you are chatting online, where you would normally put a full stop you just hit 'enter' to send the message and keep typing. Exclamation marks are used quite a bit (and usually quite a number at once), mostly because l33t is most commonly used in expressions of pleasure. Commas are generally left out in hard and ultra 1337, and are uncommon in medium 1337.
Vocabulary
Although l33t speak is just a corrupted form of the English language, there are many phrases and words (spellings) that are unique to it.
0w|\| or 0wn3d - One of the most popular l33t words it is very loosely defined as beaten or can simply be an expression of awe, for example, 'I 0wn3d you' means 'I have beaten you in a very humiliating fashion', or '0wn4ge!' which means 'That was (or is) very nifty'.
w00t - Derived from 'hoot', this is defined as 'yay', it can be used, for example, upon victory or, possibly, the release and procurement of a new video card.
13wt - Treasure, good merchandise, possessions, a misspelling of loot. Most commonly referring to pirated software, items in a game or promotional giveaways.
h4x0r - Hacker, can be used for a real hacker or simply a very skillful person. This is the most common occurrence of the -0r clause.
ph33r - Fear, most commonly used in such phrases as, 'Ph33r m3!' or 'Ph33r |\/|y 1337 sk1llz!' It can also be written as, 'ph34r'.
sk1llz - Obviously derived from 'skill', referring to skill in some type of online game, programming or hacking. Many times used in conjunction with 'm4d'. As a general rule, if one has sk1llz, one is to be ph33r3d.
m4d - Mad, mostly used as a descriptive term meaning great, for example, 'h3s g0t m4d sk1llz'.
j00 - You, commonly used in such phrases as, 'j00 d34d f00'.
f00 - Fool, one who isn't very bright or skillful.
j0 - Yo, as in the greeting.
d00d - Dude; an expression of comrade, or just used to address a random person online.
sux0r - Sucks, as in '7h1s sux0r', one of the few common examples of the -0r clause.
l4m3r - Lamer, someone who is lame, someone who uses an unfair tactic or generally makes the things around him or her less fun.
n00b - Short for noobie, misspelling of newbie; someone who is new to something, or just not very good at it.
Courteousness
Although you can use l33t speak exclusively, it is looked down upon in most forums and chat rooms. The best place to use l33t speak is in a brief expression of excitement, when you are just playing around or in a supreme example of your geeky prowess.
i get it now
btw who uses the word nifty any more?