I'm about to setup an e-commerce solution in FreeBSD and I'm thinking in putting the httpd server, php and the database in one jail.
But then one doubt came to my mind: what are the advantages of having each of the e-commerce applications in one jail for each?
I'd like to hear some opinions on this.

If the database is only going to be used for website content, e.g., images, then sure it can be in the same jail. However, if this database is used for user account information or store credit information then it cannot be in the same jail or in the same dmz where I presume your httpd server is located.

I can't speak to FBSD or to jails, but I can address the separation of duties, responsibilities, and authority you give to your interconnected services. When they are separated, and limited to clearly defined communication paths, the chance of a problem with -- or a successful compromising attack against -- one of them, will only have those clearly defined communication paths in which to either cascade an integrity issue or for an attacker to use as a pursuit vector.

If you had a large infrastructure, with separate webservers, application servers, and DBMS servers, you might have a network with multiple tiers, and your Internet-exposed webservers would be in a "DMZ" network, with firewalls that only permitted connections through your application servers. And your DBMS servers might be on a "Data" tier, with firewalls permitting only SQL queries and responses.

All for isolation. Your jail "infrastructure" should provide similar separation by function, with different components having different authority and access.