I use one engineering app that has a "soft" license. It has a lot of failure modes, all of which are essentially administrative not technological. A fair number of departments have to work together: IT, purchasing, and accounts payable (in case the company is on credit hold for non-payment of a previous license renewal) across multiple corporate divisions. It can eat up a few days of my life, and sometimes I lose access to the software for a few days.

The IT department restructures the license server or it goes down.

The vendor changes their license technology every few years.

If you have a physical dongle, the vendor will beg you to send it in and receive a soft license. The few remaining users with dongles refuse. The hardware is more reliable.

We use Flex license server for so many pieces of software. It works well as long as everything is up and running. Several years ago, we merged with another company and slowly began to consolidate IT infrastructure. The license server was moved many times without giving proper notification to users until it eventually settled at the main DC we use. Then came the issue of renewing the license. Previously, license renewal was managed at the department level which means the users only need to go to their boss if there's an issue and only had to send one email to our local IT to apply a new license. Funding for licenses came out of a special budget so department heads didn't have to beg. Very simple and it worked fine for years. Now, everything is centralized which sounds great except that the people that manage the license server are so far removed from where we are that it can take months for a license renewal. You're not talking to people you have an email address for, you're submitting tickets to our central system where they forward it onto the license group somewhere. It used to be incredibly painful but has gotten better now that the license group is more aware of the entire division of employees that now require their services too.