Here are some pretty good posts on God index vs Domain indexes.
https://soen.ghost.io/tackling-the-challenges-of-architecting-a-search-indexing-infrastructure-in-sitecore-part-2/
http://jockstothecore.com/indexing-patterns-in-sitecore/
As can see even sitecore has been adding domain indexes as versions of sitecore has progressed.
As mentioned when you start having computed fields, if you add these to the default indexes you'll slow down index rebuilds.
As master index already indexes all the items/versions in the master database, this is normally the slowest index to rebuild. So you might end up making your overall rebuild time slower.
Having smaller domain indexes means quicker overall rebuild time, assuming you can scale up/have enough cpu cores free, and configured sitecore indexing max threads to utilise them to rebuild indexes in parallel.
Using Solr also helps with rebuild speed.
For us as well we have customised our domain indexes search to not swallow errors (and not return empty list) if SOLR is down, as well as add add a reduced connection time out on queries, and a circuit breaker on queries.
Something we couldn't do with the default sitecore indexes, due to the way they are expected to behave.