Security plugins: what they do and what they don't
A good security plugin adds an application firewall, limits login attempts, alerts you to changed files and looks for known malware signatures. It is useful. What it doesn't do: update the vulnerable plugin for you, know which user shouldn't be there, go through the database thoroughly or tell you how someone who is already inside got in.
One well-known, well-maintained plugin is enough; two at once tend to get in each other's way. The comparison is in which is the best WordPress security plugin. If you are torn between a plugin, a paid service or having someone take care of it, it is laid out with sources in the comparison: Wordfence, Sucuri or a technician.
Backups
A backup is only useful if it meets three conditions: it is stored off your server, it is from before the infection and someone has tested restoring it. The copy your hosting provider keeps on the same machine fails the first one. How to set them up properly, in the WordPress backup guide.
Updates and headers
Plugin flaws are published and exploited within days, so updates happen every week, with a backup first. The dashboard showing nothing pending is not enough: a closed or abandoned plugin, or one with an expired license, won't tell you. How to check it, in vulnerable WordPress plugins. For logins (passwords, two-factor authentication and xmlrpc.php), there is the guide on WordPress brute-force attacks. Security headers (HSTS, CSP, X-Frame-Options) cost little and shut down whole classes of attacks: they are explained in HTTP security headers.
If you want a full review from the inside, with a PDF and an action plan, that is the website security audit. If you have already been hacked, go straight to WordPress malware removal.