99% всех причин подобных радостей - использование платных дополнений на халяву (здравствуй, варез!), раздача доступа кому попало, слабые/идиотские пароли и банальные вирусы на компе, с которого осуществляется доступ.
Изредка - могут получить доступ через брешь на соседнем сайте у хостера.
Насчет того "где?!" - смотреть логи сайта и FTP
Чтоб такого не было - исключить практику вареза, если таковая имеется. Ограничить доступ FTP по ip, использовать актуальный и адекватно настроенный антивирус, не раздавать доступ кому попало, если необходимость есть - резать пользователя в правах по максимуму, только то что необходимо. Не заходить с "левых" машин, либо использовать для этого специальный урезанный в правах аккаунт. Делать нормальные пароли, а не вида 12345.
Сильно желательно регулярно делать бекап файлов и БД