I was surprised to see that a thread with this title was about the AI getting all the offensive benefits from alliances, and not the player.
I have always found alliances with the AI too easy to abuse for my own gains, even without abusing the friendly attitude. Whether it is by not giving them promised land, not accepting CTAs, making sure their offensive war target isn't a viable target for me, signing a seperate peace deal early or simply joining a war and not doing anything since I am not in any danger myself. The downsides of not doing what your allies wants are generally too small compared to the cost of fighting for them.