As Roman Pekar mentioned in one of the previous answers, JSON support offer much more flexibility and it offers the possibility to kinda mimic a NoSQL behavior on a relational one.
Furthermore, it makes it easier in Client-Server applications to store JSON values sent from the client directly from the Database.
One can use 30% of the fields for a client of the application, 30% for another, and so on, not having to define multiple tables or tables with a large set of columns. Thus, one can store large chunks of heterogeneous information into one place.
Last but not least, JSON is a standard and it's supported by many of the big programming languages.
(We are currently using the feature in our project (and have been using it since in Beta); furthermore, this was the main reason we chose Postgres for our application, as we needed a big DB with mainly decoupled information. We tried using NoSQL databases but we needed too many tables to store the information in, and it was costly on "joins". On the other hand, it would have been hard to cope only with a relational DB, so instead of going half-relational half-nonrelational, we chose Postgres's JSON support.)