According to W3C cursor:
pointer The cursor is a pointer that indicates a link.
The specification only indicates that links are meant to have the pointer cursor. Buttons are not meant to have the pointer cursor in the specification and probably that is the reason why Browsers don't assign it by default and we have to do it manually.
As to why would links need the pointer cursor, additionally to Dipak's answerDipak's answer, my understanding is that the specification considered it might not be obvious (in comparison with the surrounding text) that text links are links.