I let my staff ban, but they've also been instructed to not ban on a whim and to let the warning system take care of restrictions and suspensions and they just need to issue warning points. The system is set up to take care of the rest except in extreme circumstances which can be discussed with me first.
If you think about it, a moderator's duty is nothing less than to moderate, and removing an abusive person's privilege to access the site or forum definitely falls under that category. Administrators already have a slew of other duties to tend to, and there are usually fewer administrators trusted with such backend duties than there would be potential moderators. They can't scour their entire forums and run through every single comment or post to find abuse, but this isn't to say that the circumstance can't be supplemented with, say, a report feature for comments. I would say it doesn't hurt to allow your moderators to ban, as long as you keep in touch with them and review the bans every so often.
I don't run a forum anymore but when I did, my mods could ban. At first, only admins could, but so much started slipping through the cracks because we got so busy with our personal lives. We made the decision to allow mods to ban, but we made it clear which offenses were ban-worthy.
If the Mods are trusted friends, they can be allowed to ban. Otherwise, if they are recruited from the members on the forum and still allowed to participate, they should not be allowed to ban - reason being - they might be biased in their decisions and that is not a good sign of anyone with power. They might be entrusted with the issuing of warnings.
Anyone that I know in real life, or have talked to, I give my complete trust to them. I only have one or two of those particular friends that I trust, so I will give them access to ban rights. After all, I can easily unban and revoke their admin rights if they ever decide to abuse it.
I allow moderators to report users. If enough warnings come through then the user is automatically banned from posting. The moderators then discuss further with the admins in a staff only board and a ban can then be issued by an administrator I think that this is a very safe way to be able to administrate the forum. Also, admins can see all users warning levels and they get notified for posting bans so the admins can assess if the mods have been abusing their powers. It is an (almost) fool-proof system.