There are many strong points for this the general challenges are...
Databases don't/didn't have too much in the way of integration primitives...
Databases can become a performance bottleneck that can only be scaled vertically...
SQL language is not that great as an application programming language
EDIT: forgot the biggest one which is, it is completely up to discipline to produce any kind of separation between implementation details and public api since everything lives in the database. That's really the biggest challenge.