"Homemade" vs "handmade"
Solution 1:
Handmade means:
Made by hand, not by machine, and typically therefore of superior quality: ‘his expensive handmade leather shoes’
[Oxford Online Dictionary]
It is broadly used to emphasize "superior quality" of any product compared with products which are "machine-made".
If you Google search it, you get 875,000 hits for "homemade food", which is about 6 times more than "handmade food" (150,000 hits).
If you use "handmade" for your homemade food, it might not convey the message that it was "personally" made at home as "handmade" is sometimes used in signs, advertisements or menus of restaurants in order to emphasize its higher quality.
It is better to use "homemade" than "handmade" for food made at your house.
And the context can play a major role when you use the words. If you bring food to your friends and say it is hand-made, it wouldn't be difficult for them to understand it was homemade by someone. It would be better to use "handmade by someone" to be clearer.
Solution 2:
Homemade is when the item is made in home. Either by hands or using a machine (eg. when one sews clothes in one's house).
Handmade is when the item is made using human hands. It need not be in home, it can be on factory floors too. (eg. some expensive cars have their interiors hand stitched)
Homemade is a better word for food.
Solution 3:
This answer has two parts. One based on the dictionary definitions of the word, and another based on opinion. It is up to readers to decide how they feel about the opinion-based part.
Homemade means something was made at home. It is sometimes spelled ‘home-made’. Handmade means that something was made by hand. It is sometimes spelled ‘hand-made’.
The real question is what connotations these words carry. The OP didn't ask, however I feel that implicit in this question is "What's the connotation difference between these words?"
Handmade: Prior to the industrial revolution, everything was handmade (except for some things which needed a machine, horse, or water power.) Parts for a musket were handmade. Cigars were handmade. Food was handmade. Books were handmade. To say something was "homemade" or "handmade" would have been quite odd.
Between 1840 and1860 things began being made by machines and in large quantities (possibly earlier depending on the items being manufactured) Clothing could be made by a machine, as well as many other items. Sometimes the quality was good, other times, it wasn't but quality was not really an issue. So, (and this is hypothesis) I feel that people wanted to know if something was made by human hands or by a machine. Certainly food processing became more mechanized. I was not around in 1860 to try canned soup but I'm sure it wasn't as good as mom made. Add to this that a machine can't see whether pieces of bone, grisle, or rat parts are going into the can, and you can imagine why "homemade" and "handmade" were good to see on products. This is a Google Ngram chart which could be interpreted as support for this idea.
The words in question seem to have idiomatic uses (and possibly legal limitations.) For example, a restaurant will say something is "handmade" which implies it wasn't made in a factory and frozen. I'm not sure if restaurants are legally allowed to put "homemade" designations on their food. Possibly in some countries. Handmade still carries the mark of superiority. So some bags made by LV, cigars from Cuba, and clothing from Savile Row are handmade and of superior quality.
Homemade seems to have the connotation that it was made in the care of someone's home and is of better quality. But that analysis stops when someone says "Look. I brought my homemade iPad to work." So "homemade" can often have negative connotations. English speakers also use "homebrew" to describe things made at home. Homebrew things tend not to have the mark of quality. A time machine built in an inventor's basement is "homebrew." I hope it works, but it probably won't look like something you can buy at the Apple Store. Possibly Jobs' and Wozniak's first computer was called homebrew. Maybe "homemade."
Mom's apple pie is "homemade." Sure, she made it with her hands but we say "homemade" for that. The list of idiomatic expressions is probably long and asking why means asking a copywriter "Why did you guys decide to put "homemade" on this product, even though it was made by someone in Columbia?" I think copywriters played a large role in this.
Homemade seems to be used more often for "food" however it can be used for just about anything. Type in "Homemade + [item]" on Google and you'll get a list of items: Homemade telescope; homemade drone; homemade computer; homemade dental tools. etc.
So to sum up, both words usually have connotations of quality, and I feel are used idiomatically for things. Someone who wished to take the time could probably search through old advertisements and see similar products that were designated as either "handmade" or "homemade" so I don't think there are any clear-cut usage "rules."
Solution 4:
On a commercial level, homemade means made or "prepared" or transformed on site, that is, some readymade or frozen foods can be classified as "homemade" as long as these are prepared directly on the premises where they are sold.
Handmade simply means made with the hands or by using hand tools, as defined by Merriam-Webster.