There are a lot of ways of hacking into a site. Some can be through sophisticated tools and expertise. But there are many admin/network tricks and hacking tools known (eggdrops, scripts in the warez sites, etc.) that many can actually download and use, including brute-force password dictionaries that lets programs try thousands of words and combinations for the username/password in your site/hosting account, and some of these do get through. (That is, assuming you have a fairly hard to guess password; since in many cases easy or unchanged default words in passwords are a way in for some cases).
Another thing you might want to consider is your web host. If it's in a shared account for example, and another user in the same server as you is able to enter your site from the server itself (such as via SSH if it hadn't been plugged or made secure by the web host).
A few years back for example, I was amazedwhen I tried using SSH (or was it Telnet) to get to the command line of my server (in a shared environment!), and went out of my account's subdirectory and reached the root directory, able to see other accounts' directories and actually entered them! Obviously I didn't do anything but I know I'd have easy changed filenames and overwrote the pages and permissions if I wanted to. Emailing the hosting provider didn't help, and so I quickly got out of there (my account) and moved my site, lest another user come into my own site with less than noble intentions.
Point is, these things happen and these or a thousand other factors can let people enter your site, so you'd do good to check up on possible areas that can go awry.