Каковы недостатки предварительной декларации?

Мне интересно, есть ли какой-либо недостаток для использования предварительных объявлений во всех местах, когда это возможно. Это если мой заголовок содержит только объявления.

Насколько я понимаю, использование предварительного объявления ускоряет время компиляции, но я не знаю никаких недостатков как таковых.

Пример:

хиджры:

Class A
{
};

b.h:

// Should I use and include "a.h" in the cpp file (e.g., a.cpp)
Class A;
Class B
{
    doSomething(A *a);
    A *myA;
};

Или лучше использовать

b.h:

#include "a.h"

Class B
{
    doSomething(A *a);
    A *myA;
};