You do ray checks to see if the AI can see a target. Which means you have to check every point between the shooter and the target to see if there's something in the way.
There are ways and means to optimize this, but it's still a lot of computations you need to do.
In a flight sim such as Falcon or FS2, raycasting is comparatively easy because a) we do not need to do these checks as often, given that you will almost always have a line of sight to the target, and since we do not have to account for complex geometry being in the way (the top level bounding box is suffices most of the time), it's not as big a problem for the FS2 AI.
Pathfinding is a related problem, and once again made easier in flightsims. In an FPS, you would almost always use some form of hinting to give the AI an easy way to find its way around a level. In a flightsim, you can assume that you will have a direct path to your target most of the time, which makes pathfinding very easy. The FS2 AI falls on this face here a bit, because it will go a bit crazy in some cases (The big asteroid in the BtRL demo being a supreme example).
Pathfinding is, I believe, generally done with a waypoint grid, but raychecks might be involved. Raychecks are probably involved in checking line of sight to other actors. I don't know enough past that level of detail, but that link above has some information.
Pathfinding is more a graph traversal problem. You have a grid of nodes you need to traverse between your current location and the place you want to be, so the AI needs to find a path across the grid.
It should be noted that efficient graph traversal is a very hard problem in computer science, being among the NP-complete problems.