The blocking algorithm is based on 2 methods: 'invisible js-captcha' and 'invisible input trap'. The 'invisible js-captcha' method is based on fact that bots does not have javascript on their user-agents. The 'invisible input trap' method is based on fact that almost all the bots will fill inputs with name 'email' or 'url'.
Two extra hidden fields are added to login, register and reset-password forms. First field is the invisible captcha (copy and paste the code). Second field should be empty. If the user visits site, than first field is answered automatically with javascript, second field left blank and both fields are hidden by javascript and css and invisible for the user. If the brute-forcer tries to submit the form, he will make a mistake with answer on first field or tries to submit an empty field and brute-force attack will be automatically rejected.
If Security-Protection check was not passed than it is brute-force request and the login attempt (or registration, or reset password) is blocked even if username and password are correct. Plugin sends fake WordPress login cookies to the brute-force bot and redirects it to the admin section to emulate that the password is cracked and many brute-forcers stop their attacks after this. It is really awesome :)
You may enable sending info about blocked brute-force attacks to admin email. Edit security-protection.php file and find "$secprot_send_brute_force_log_to_admin" and make it "true".
If all plugins does not help you to stop brute-force attacks - you can simply rename wp-login.php file (for example 'wp-login-new.php') for now and maybe this can help you to reduce load on your site. And also create empty wp-login.php file for not raising WordPress 404 error because it will start whole WordPress site again during each wp-login.php access. While wp-login.php renamed - users cannot login, register and reset password. If you want to have ability to login while you renamed wp-login.php file you should replace all 'wp-login.php' strings inside of the wp-login.php file to your new filename (for example 'wp-login-new.php').