The French Wars of Religion lasted for nearly 40 years. By the standards of a civil war, this must count as one of the longest.
No-one side had the ability to end the wars quickly. The military clout of both sides was not great so that no one war witnessed a decisive blow. That meant both sides could recover sufficiently to continue fighting given a suitable break. As war at this time was regional one specific area of France may have been at war and the rest of France may not have experienced the impact at all so that there was always a region capable of a war in that the men and equipment were available. The wars never affected the whole of France at any one time and though one area may have been incapable of continuing fighting there were others that could do so.technically lasted nine years but the majority of those years were spent fighting foreign powers (primarily Spain) and so cannot be classed as part of the civil war known as the French Wars of Religion. In fact the campaign against Spain probably gained Henry IV even more support as Spain was seen as the traditional enemy of France and loyalty to the legal monarch who was now catholic was common throughout France.
In this sense, the civil wars ended earlier than the date 1598 might suggest. The campaign against Mercoeur lasted until 1598 BUT it can be argued that this was a very specific action against one noble faction rather than a civil war. However, a counter-argument to this would be that such disloyalty to the monarch was all part of the process of the civil war and this campaign against Mercoeur was simply the end part of it and that it was characterised by the classic symptom of French politics in the C16 which was the king advancing his power at the expense of the nobility with the nobility attempting to counter this.
Another reason why the wars lasted so long is the fact that anger was so deeply entrenched.
After the Massacre of 1572 the Huguenots realised that any fight would almost certainly be to the end and that negotiation was all but out of the question. Hence their continual part in the wars. Likewise the catholic involvement as exemplified on the part of the Guise family made reconciliation all but impossible.
With these lines drawn as such each side had to fight for its own survival and with the Catholics accounting for 90%+ of the population the Huguenots had to assume that any challenge made to their survival had to be matched with a desire to fight for their survival and this would involve them in any potential hostile action which the Catholics were perceived to be engaging in and which would have to be met by a hostile response.