Annuities usually have a sales load, usually have very high expenses, and always have a charge for mortality insurance. Simple term insurance is cheaper and better if you need life insurance. Annuities invest in funds that are difficult to analyze, and for which independent reports, such as Morningstar, are not always available. Annuity contracts are very difficult for the average investor to read and understand. Personally, I don't believe anyone should sign a contract they don't understand.
Annuities promise a guaranteed income for life.
One is that you sacrifice your principal. When you die you leave zero to your heirs. If you want to take cash out for any reason, you can't. It isn't yours anymore. The problem is that the amount they pay you is small.