Nope, dogs don't need crunchy food. Their teeth should be brush regularly though. Homecooked is fine, but it has to be balanced or it can lead to some very serious health problems. This is even more difficult in pups, so when homecooking for one, a veterinary nutritionist should formulate the recipe. It is really the safest way to go for all dogs.
Many dogs do very well on commercial food and many do very well on homecooked. It is owner preference and dog dependent.