The problem is that when you then want to align stuff, you have to use spaces. So you need to use tabs for indentation and use spaces for alignment. This is actually the perfect, objectively best way to do it, but because it requires a deliberate mix of tabs and spaces, it’s too complicated to use for a large project with lots of maintainers. You just need a single maintainer doing it wrong to ruin it.
There is also the issue that you’ll often see the code in a place where you can’t control the tab length, i.e. printed in your terminal by some program that doesn’t have an option for that, or viewed on the web, like GitHub.
The problem is that when you then want to align stuff, you have to use spaces. So you need to use tabs for indentation and use spaces for alignment. This is actually the perfect, objectively best way to do it, but because it requires a deliberate mix of tabs and spaces, it’s too complicated to use for a large project with lots of maintainers. You just need a single maintainer doing it wrong to ruin it.
There is also the issue that you’ll often see the code in a place where you can’t control the tab length, i.e. printed in your terminal by some program that doesn’t have an option for that, or viewed on the web, like GitHub.