Can someone paint a picture how they actually hack? Their techniques vs protection in layman's terms?
Well, Mr. Green had a very
colorful analogy, but I'll try to explain it a little less... umm... explicitly

.
Based on sources, it looks like the hacker group used what's called a SQL Injection attack. First, SQL is a query language used for databases (subsequently called SQL databases). You may have heard of MySQL before, which is an example of a SQL database.
A SQL Injection attack is performed by finding a point in which a website accesses the SQL database
but does not perform adequate checks on the user-provided data. For example, let's look at my current Anandtech Forums URL:
http://forums.anandtech.com/newreply.php?do=newreply&p=31798817
Everything after the question mark '?' is a variable (or multiple variables... separated by the ampersand '&') that is provided to the subsequent PHP (this is a web programming language) page. If I remember correctly, these are called ENV (environment) variables in PHP. That's getting a little too detailed, but let's say VBulletin did not perform proper data checking on the 'p' variable.
Chances are the 'p' variable is going to be used to access the database and retrieve the post that I am replying to (in this case, your post). What you usually do is
prematurely end the command. This probably involves the SQL SELECT statement, which may look sort of like this:
SELECT post_text FROM forum_posts WHERE id=$p
If I remember correctly, in PHP, I would end a SQL command with a semi-colon ';' So, literally what you do is replace the variable 'p' with a valid value, an end of command character
and other commands. With this, you end up executing the original command (probably with a fake value) and then whatever commands the hacker wants.
The hardest part is usually finding the hole, and then you need to figure out what commands you need to use to get the data you want. This isn't terribly hard since you can get SQL databases to list their tables and their information.