Extensions (or add-ons) are great to enhance the web experience, but entrusting them with access to the content of all websites I visit (if the features of those require it) is a little bit too much. Some extensions can already solve that: Extensions which only want to modify e.g. YouTube do not need "Access [to] your data for all websites". But other extensions should be possible to use on all webpages, e.g. extensions replacing/blocking "bad words", translating extensions or extensions, which should work with self-hostable instances of services (GitLab, Phabricator, Nitter, …). They cannot easily restrict themselves to some domains (e.g. the official variants) because that would also restrict their use. But, most of the time, such extensions cannot & should not be able to see my whole history or access data when I'm using online banking.
Using different Firefox profiles is a way to solve that problem, but it is not easily usable because switching between these sessions is not easy. However, it is easy & user-friendly & automatable to work with containers, e.g. I can assign certain domains to certain containers so visiting them automatically switches to or suggests the assigned container. And already are containers used to enhance security & privacy. By allowing users to restrict extensions to certain containers, I can easily configure which extensions should be able to modify which website(s), either special selected ones or I can easily switch to a certain container to enable more not-so-trusted extensions if I need to. And by allowing to exclude some or not explicitly selected extensions from certain containers, I can increase the security of online shopping / banking services because fewer extensions would have access to the data of those.
This would make it easier for users to trust extensions which need the "Access your data for all websites" permission because I would not be required to give them access to all unconditionally.