Do I have to unlock heroes in Overwatch?
No. All of the heroes in Overwatch are (and will be, in the case of future additions) unlocked and at full power from the start. The only things you unlock through either time or money are cosmetics, such as skins, sprays, or victory poses.
In addition, in a Developer Update video, Blizzard has confirmed that future heroes other than the original 21 released down the line will be available as free content packs, and not paid DLC releases.