Correct. It's not practical because those apps usually aren't Free Software and because the hardware or firmware they're running on often aren't Free and include anti-features that prevent you from installing Free alternatives.
If they were Free, users wouldn't necessarily even need to hire a developer to change their app or OS; those changes would most likely already exist in some form somewhere and the user could simply purchase the modified version.