Es por ambas razones, lo que ocurre es que como comentas hay gente inestable en el Facebook y los servidores de cache (memcached) de Facebook estan ubicados en distintos lugares de Estados Unidos por lo que pueden demorarse en sincronizarse entre si y con las bases de datos. Si se fijan en otras paginas como Twitter pueden darse cuenta de que tambien ocurren fenomenos similares por la misma razon.
Por explicarlo de una manera mas sencilla digamos que es posible que segun un servidor ubicado en Detroid tengas 1000 amigos y segun un servidor ubicado en California tengas 1001 amigos y puedes ver datos diferentes cuando recargues las paginas porque no siempre se consulta la informacion al mismo servidor. Cuando los datos se sincronicen con la BD principal entonces sabras cual es la cifra real (siempre que los usuarios no continuen activando y desactivando sus cuentas a cada rato). Otro factor que puede influenciar es que agregues a algun amigo o que lo borres. Si cuando agregas a un amigo te atiende el servidor de California este registra inmediatamente el cambio y actualiza la cuenta pero para que los cambios se vean reflejados en Detroid es necesario que los servidores se sincronicen.
Cabe aclarar que solo partes de la pagina funcionan de esta manera como los nombres de los usuarios (que es precisamente el ejemplo que usan en Facebook para explicar como funciona sus sistemas de cache), la informacion del perfil y otra informacion que no necesita recargarse constantemente. Para la pagina de inicio no se usa porque no seria conveniente que ocurriera este tipo de 'descuadre' con las actividades recientes.
Saludos