A good explanation that I saw online.
Habría is the conditional. Hubiera is the imperfect subjunctive.
Habría is generally used as a helping verb. In the conditional, it is a way to refer to the future in the past.
For example:
In the present:
Queda [present] en el aire la duda cómo se resolverá [future] el conflicto. (It is up in the air how one will resolve the conflict.)
Same sentence but in the past:
Quedó [past] en el aire la duda cómo se habría resuelto [condicional compuesto] el conflicto. (It remained up in the air how one would’ve resolved the conflict.)
Another use of habría is “habría que,” which means “should” and is generally translated in English as “we should…” (or it could be “one should”).
Habría que leer algo cada día. We should read something daily.
Hubiera is the imperfect subjunctive. It is used to refer to things that aren’t possible in the present, hypothetical or didn’t happen in the past.
For example, let’s say you go to a bar to listen to live music. When you arrive, you see that the venue is quite small but you are lucky and grab a seat. In response to your good fortune, you might say: Si hubiera más gente aquí, no tendría asiento.
If there were more people here [the implication is that there are not that many people present] I wouldn’t have a seat.
Another example, this time using “hubiera” as a helping verb.
Si hubiera sabido que ibas a venir, habría comprado más comida. Quisiera que me hubiera llamado.
If I had known that you were coming [but I did not know], I would’ve bought more food. I wish that you had called me [but you didn´t].