Sometimes you need to pay the fee upfront, like the Gold card. However, you usually get something back in return for the fee. For AMEX it comes as an antiquated travel credit with a lot of limitations, with a Chase Sapphire Reserve ($450 fee) you get $300 annually back in travel credit. I've had stuff like uber eats, tolls, airline gift cards, baggage fees all trigger it, so I usually burned that $300 off by February. Even if you are just redeeming for cash back, by doing it through signup bonuses vs. normal spending you are going to come out way ahead.
As far as annual fees year to year, it depends on the cards. My hotel cards, like Marriott and Hyatt I spend $69 or $89 or whatever the fee is and in exchange they give you a free night credit so I'm happy to eat the fees on those and factor them into the travel budget. Typically I can redeem them for $200-$300 rooms, so I'm essentially buying a night at a deep discount. Other cards like my British Airways card, whose annual fee hit me last week, are not worth keeping as I get 0 value out of it. This morning I actually card and instead of closing the card, and damaging my credit report, was able to request a product change. They gave me another British Avios card that offers 1 point per every 2 dollars instead of 1 point per dollar that was on my annual fee card.
This lets me keep that credit line open thereby decreasing utilization and extending my account history.