Why don’t free apps have a thank or tip feature?
Solution 1:
Most freeware developers are not starving to death - they have well paid jobs, and make apps as a hobby in their spare time.
The complexities of receiving payment (e.g. hiring an accountant so you don't violate some unknown tax law) are often not worth it. Time spent figuring all of that out is time the developer would rather spend making their free app better.
I like to think of it the same as music. Some people get paid to pay music, and some people play music for fun.
Solution 2:
They do, the Onion Browser have three IAP that are simply for tipping the dev. It's simply more hassle to ensure the app doesn't run afoul of the AppStore strict IAP rulings, compared to just putting a link to the developer site/blog where they might share a donation link.
Solution 3:
It's very much up to the developer to implement the In-App Purchase (IAP). Some apps do have ways to make IAPs that give developer the tip, and the user doesn't get any extra features.
Some apps are free and make money by advertisements or selling user data.
As for thank you, I'd guess a good review would improve their visibility on the App Store, so that's what I've been doing.