Worth knowing why this is uneven, because it stops it feeling arbitrary.
The actions in question have to be declared by the app in code and built against a reasonably recent SDK. Apps that were last updated years ago have nothing to declare, and there is no automatic fallback that invents actions for them. So the pattern you will find on any real phone is: recently maintained apps and system apps have plenty, a long tail of abandoned apps has none, and the middle is a mess that reflects each developer's priorities rather than anything about your device.
The practical rule: if an app has not shipped an update in two years, it is not a casualty of anything. It never had them.