Firstly, the general feeling that Postgres is engineered and designed and not cobbled together.
Secondly, support for non-trivial SQL is just a lot better. For a forum or simple application, MySQL is fine by language, but if you get into the more tricky SQL, it will fail you much sooner.
Thirdly, schemas, views, stored procedures the whole environment around the tables is so much more refined and powerful. Not that it's easy to say "MySQL cannot do this" - there's usually some hack or roundabout way in which it can do it, but in Postgres you don't need the hacks.
And it seems to me that it's so much clearer and better to do serials and foreign keys and all that. In MySQL it always felt to me like everything that's not trivial was added on, by someone else than the last feature. Postgres is just much more consistent in its approach.
Oh yes, and it does GIS. And blobs (properly). And UTF (properly). I just feel a lot more comfortable throwing everything at it and not thinking "will it handle it?" all the time.