All I/O pins are digital pins for the purposes of output. HIGH or LOW. That's it.
The "analog pins" are also able to read analog inputs, but cannot output analog values.
The PWM pins are tied to timer/comparator systems inside, to provide PWM output. PWM is a square wave, where some percentage of time is held HIGH, and some percentage of time is held LOW.
The ATmega chip has three timers and six comparators. That means that there are three pairs of PWM pins: paired pins 5 & 6, pins 9 & 10, and pins 3 & 11 are each sharing a timer.
Servos can be damaged by regular PWM output, but instead use PPM to control their position. That is, not the width of the pulse, but a pulse's position relative to a known pulse timing. As it happens, the servo libraries can use one of the Arduino timers to also provide a PPM-compatible signal.
But if you use analogWrite(), the PWM write function, you could accidentally screw up the timer used in the PPM trick, even on a different pin that is sharing the same timer. So be very careful not to confuse Servos with PWM, and don't use analogWrite() to adjust EITHER pin that shares the timer used by your servo library, or you could damage your servo hardware.

(mem's link below is important - note there are different servo libraries and they can use timers in different ways - when in doubt, use no analogWrite() at all!)