Originating in the early 1980's, leet speak was first used by hackers as a way to prevent their websites/newsgroups from being found by simple keyword searches.
Leet speak grew and became popular in online games such as Doom in the early 1990's as a way of suggesting that you were a hacker (h4x0r), and therefore to be feared.
Leet, or 1337, is a short form of "elite," commonly used by video gamers to suggest that they are skilled.

A form of writing whereby some letters in a word are replaced by a numerical likeness or other letters that create an identical or similar sound.

This style of writing was originally in use by hackers who were attempting to bypass word-filtering on mail servers. For instance, they would use the term 'haxorz' to replace 'hackers'. Internet users new to hacking adopted the style in an attempt to emulate those more experienced, and usage became widely spread.

In recent times the method is almost never used to avoid word-filtering software, but rather to satirise script kiddies and 12 year olds, or to abbreviate for faster typing. It's interesting to note that in most cases it takes more time to type in leetspeak (due to the constant swapping between numbers and letters) than it would take to just type the words properly.

When using leetspeak, you should be aware that you are almost definitely coming across as a moron.

Person A: ph34r my 1337 hax0rz ski11z
Person B: What?

Here, Person A appears to be of below average intellect, due to his/her liberal use of leetspeak.

When the 1st l33t sp34k hit the scene in the very early 80's it didn't use all the annoying ?|}{)\ and crap they put as subs for letters today. It just occasionally subbed some numbers for letters so that normal searches and bots, ect. would not pick up the pattern. It has been changed into something entirely stupid and unreadable by wannabe, lazy kids today. Same with lol and rotflmao and such. Been around since 300 baud n00bs.....

If j00 w3r3 r34lly l33t j00d kn0w it n00b.

This sentence would have been a bit overkill even then for leet speak. Most would have written it like:

Despite what many people think, leet speak is not when you make letters with non-letter characters, like

| /\/\ |_33+ 2 |)00|)!!!

Though the non-letter characters used to make letters method is used occasionally, it is primarily made up of numbers acting as letters, like so.

y0 j00!!111 u c m3 0wnz0rz dat n00b v3r1ly ?? lolololololololo

Note that j00 is often used in place of "you" and many words end with a 0rz or a z. Also, letters aren't ALWAYS used, just when someone feels like being "l337". Leet Speak originated as a way for getting vulgar words (such as "u r fuxx0rz d00d!!) through filters in chat rooms and games.

The practice of substituting any number of letters or symbols for actual letters coupled with purposefully phonetically mis-spelling words while chatting in order to make your chat unreadable to all but the "elite," or, all the other dorks you are chatting with.