When attacking enemy territory in Crusader Kings 3, your armies will use up the supplies it brings with them to raid and conquer another land on your behalf. Those supplies don’t last forever. It deteriorates over time. When it reaches a certain point, your armies start to gain a small attrition level, its overall numbers diminishing, giving you less of a fighting force. You also gain a disadvantage in combat. They need to resupply and regroup before embarking again.
You can do this by having your armies remain in one of your territories or a friendly one. Your armies can only rest and regain supplies while remaining in provinces that you have an alliance with. Even if you’re friendly or a liege has a favorable opinion of you, having your army in their region does not give them additional supplies. Make sure to find a location to keep them that is yours. You also need to make sure the province has enough supplies to give your army. You can see this by hovering over a province and seeing their supplies. Each soldier needs a single supply, so these numbers are one-to-one.
When besieging a province’s holding your army naturally has a one percent attrition rate. You can’t avoid this, even if your troops are well supplied. It naturally happens, and you expect it to occur after a battle, regardless of a victory or a defeat. An army’s attrition rate increases the longer they remain in enemy territory without returning to gain any supplies. Click on your army to view their overall supplies and see what causes them to have attrition if you are losing soldiers. You also need to plan out if your army plans to go overseas to fight. If they battle without an ally province near them, they can acquire more supplies to maintain themselves or slowly die off.