First, they may not have permission to do this from their company.
TR: No one needs permission to create a Microsoft account. It's a personal account. Do you mean that they need permission to associate their email address with a Microsoft account? If so, surely a good business purpose exists for this use as otherwise they won't be able to access Teams as a guest.
Second, some people are fed up with Microsoft forcing them to do things they do not want to do.
TR: All computer systems force people to follow processes. In this case, you must be able to identify yourself to participate as a guest. Remember, guests receive the same level of access to Teams resources as tenant users do, so granting someone guest access to a team is quite a big step. It seems reasonable to protect the information available to the team membership by insisting that guests have verifiable identities.
Third, from a user's viewpoint, this is totally useless waste of time, one more hoop to jump through to make Microsoft happy.
TR: Security does get in the way from time to time. In this case, it seems worthwhile. It's not making Microsoft happy - having a verifiable email address for a guest account makes the owner of the data stored in Teams happy to share it with that guest account.
Fourth, many other software companies do not require anything like this.
TR: And many other software companies don't support the storage of data in the same way and the access through Teams for guest users (like being able to access SharePoint sites, Planner, etc.). Software companies have to come up with a reliable and robust access model to control access by users (tenant and non-tenant). Teams uses Azure B2B Collaboration to avoid creating its own model.
Fifth, some people want some privacy,
TR: It's an email address. You share your email address with anyone you communicate with via email. Using the email address to access Teams is just another form of communication.