I've been working with Firebird to develop some desktop and small network applications since 2002, I've decided it over MSSql server and Postgres because it can be installed without supervision (I give my application's installer and the user just clic "next" until it is done).
Recently I worked with Postgres to develop an intranet application with some friends, the main difference I can tell is that Postgres seems more mature, for instance it has its own IDEs (PgAdmin for local and PHPPgAdmin for internet). Its Server Language (PL/pgSQL) is nicer than Firebird's, one thing I like about postgres is that it is more comfortable, assume you have a table CarTable( IDCAR bigint, MODEL varchar(50) ); in Postgres in a Stored Procedure you may say:
declare theCar CarTable%ROWTYPE;
theCar.IDCAR = 5; theCar.MODEL = "xxxx";
select * into theCar from CarTable;
in Firebird you have to:
declare theCarIDCAR as bigint;
declare theCarMODEL as varchar(50);
theCarIDCAR = 5; theCarMODEL = "xxxx";
select IDCAR, MODEL from CarTable into :theCarIDCAR, :theCarMODEL;
Also, Postgres has built-in Regular Expressions, you'd need UDFs to achieve that in Firebird.
Postgres seems easier to work with, but I haven't made installers for Postgres applications, on the other hand Firebird never gave me problems. (Not a very technical answer, isn't it?)
EDIT:
Why not Firebird?: It's good, easy to deploy and works amazingly well, I'm still using it in new projects.
Problems: Not easy to find an Internet Server that offers Firebird databases, in fact that's the reason why we used Postgres for that project.