Why does Bitcoin Core support a transaction index but not an address index?

Bitcoin Core has the CLI option -txindex to maintain a full transaction index for RPC calls. That sounds useful for some use cases, like for a blockchain explorer. It seems perfectly logical then that there should also be an option to enable an address index, which would allow looking up address balances and transaction histories, but there isn’t one. Why is that? And why exactly was -txindex included in the first place?