The reasoning (aside from making you feel like Ash or Red... okay, those are the only names I know from my son telling me about the show) is to get more candy for that Pokemon. In some cases, you may never see a certain pokemon again... like I chose Charmander as my starting one, and I've only ever hatched egg of another since. So, how am I supposed to evolve him? Well, pick him as your buddy and you'll get candy as you walk around (I wish I could produce candy because I walked around).
Now, if you walk 1km with that Pokemon, you get 1 candy. Someone did the math that to evolve to a 3rd tier monster, it'd be like 300km. Ouch. Better than nothing.
And you can change the 'buddy' as well... so if you get enough of one candies, you can switch.
Neatest of all is that once you hit 10km for Pikachu, he'll jump on your shoulder on the map view. I haven't seen that yet myself, tho'.