First things first: Never put a real army in a fort.

Forts are to delay. If you have a fort between one of your key cities (for example, Padua) and a full stack of enemy troops, you'll be happy the opponent will have to waist time sieging the fort. He can't just beat the fort in one turn, nor can he ignore it. That gives you time to gather your forces.

Now, if you have enough money, you might want to put a battle ready force in those strategic places. However, changes are you will lose and you will not delay your enemy. Also, it is extremely expensive and certainly not efficient. Having one or two field armies to defend 6 cities (Jullii North-Italy for example) is much better than having 6 or more because you need to defend every pass through the Alpes. Putting a fort into place will allow you to get your field army where you need it.

A few inexpensive missile troops combined with the best defensive force you have (for example: two archers and one levy pikemen) are quite a tough nut to crack. Your enemy will either choose to lose a significant amount of men in an assault, or waist 3 turns sieging the thing.

Besides that, the AI is quite reluncant to actually besiege forts. This should have changed with the patch though.