The difference being that the database is usually _in addition_ to a relay. It's like a relay backend. A backend to a backend, basically.
And it's another thing that could break. Adds complexity and maintenance costs, not necessarily storage costs. Also raises the cost of onboarding new maintainers, as it's one more thing they have to learn.
I do a lot of pipelining and chaining, and each little thing included drives up the chance of the whole thing breaking.