Depends on how it's implemented. IMHO the best ones are password managers external to the browser but with a plugin which detects the domain name. The risk with autofill is stuff like spoofing and malicious iframes, a secure plugin can detect that and refuse to autofill.
Alternatively, just set it to always ask when it detects a login form.
I would guess so, although the real purpose is likely to keep your passwords somewhere so that you can find them when you need them. I'm not sure why autofill is bad since your password manager generally already knows which password works on which website.
If an attacker compromises the page or does a man in the middle and injects a form that isn't displayed, it can trick your password manager to auto fill your login information and then send it anywhere. But that's just one vector and if an attacker has compromised the server, there are a number of attack vectors they could take.
Yeah, if an attacker can modify your page it doesn't matter if you auto-fill, fill on request or copy/enter the credentials manually - you are fucked either way.