ES is missing the calendar trading opportunity. So it is only good for outright, or spreading over stock portfolio. This is the main reason I do not trade it much.
CL add the calendar dimension. I can easily roll into next few months. I can also trade spreads over many months.
Stock index futures almost do not trade past the front month (at least NQ). ES could be better, but still no good.
Actually index spreads are huge. You can spread ES against NQ, TF, YM, DAX, etc. Tons of spreads out there.