I've had my credit card for two years. I use it extensively for all kinds of purchases and I have never gone over my limit or incurred a late payment fee. The card has an annual fee and I was wondering if there are any circumstances when a bank might waive the fee, given that I have proven I am a reliable customer and make extensive use of it.
See if the bank has other credit cards they offer. Many banks have multiple ones: some cards have great benefits, others do not; some cards have high rates, some do not; some cards are secured, some do not.
If they have a card that you like ask them to switch you to the card you want. They should be able to do so very easily. Your card number will change, but they will treat it is a replacement so that your credit score will not take a hit during the switch.
It may be possible to get them to waive the annual fee, but most won't because each card type they offer are separate products so they only allow you to pick one of their options.
If they don't have a card to your liking apply for a card from anther bank that has the benefits and annual fees (zero) that you are looking for. It may be that the new card will start with a lower limit, but it will increase over time, especially as you shift more of your business to the new card. When you cancel the old card before the next year rolls around you will take a small short hit to your credit score, but that is ok.