Jesus Christ.
Always remember to keep a copy of all files you got on your website on a local harddrive. If someone replaces one you just overwrite it with your local copy.
I suppose you got "hacked" (technically you got "hacked" by a cracker but most people don't have the slightest clue anyway) through some pigeon hole in one of your upload scripts.
Usually people become vulnerable by using upload scripts without checking for legal values.
Technically you can't hack into a website, you can only exploit its lack of input validation mechanisms
As for the difference between hackers and crackers:
Hackers are problem solvers. The kind of people that takes anything you give them apart in order to try to find out how it works and how it can be improved. Hackers got strict ethics and are commonly found in open source communities.
Crackers are hackers without ethics. Their intention is not improvment but destruction. They will hack into a website and deface it (what happend to DAC) or ransack the DB just to show off their skills or to sabotage others' work.
Another kind of crackers are hackers with loose ethics who deface websites but leave the content intact. They point out security holes by exploiting them, but they don't cause any direct harm.
Then there's script kiddies who are would-be crackers utilizing not some actual knowledge but just pre-written tools that do the work for them. They are what you usually find on IRC.
The verbs are less specific. You "hack into" a system and as a result the website is "hacked". However you could also say you "crack" a system, which usually has a subtle undertone implying that the cracker did something respectworthy tho (which usually isn't the case) IMO.
Lastly there's the problem that the media has been using the term "hacker" when talking about crackers ever since the 80s or so. That's usually where a lot of the misunderstandings come from.
For more and more accurate information just look up the definitions from the Jargon File by searching at
dict.org.