Well, things like vision cones, require quite a bit of ray tracing, and things like moving requires path finding. If it's a simple environment (no elevation changes, or partial obstructions), then these things are easily done, but as soon as you complicate the environment, these tasks can be quite computationally intensive, and the task scales linearly with how many NPC's are running the routines. You can pre-bake navigation paths if the environment is not dynamic, however, as soon as you put in dynamic elements, like boxes, or even destructible terrain, you need to do it real time.
The actual decision making of AI, though isn't very computationally complicated, a bunch of case statements really. Though, I don't make a living writing AI code...
I bet to get swarm and teamwork to well and realistically in a dynamic enviroment might be complicated, and perhaps relatively computationally expensive (and probably doesn't scale linearly to the number of NPCs).