Winglets are wing extensions that improve the efficiency of a wing. A plane generates lift because the wing's shape generates a pressure differential - the pressure is higher on the bottom of the wing than the top.
Now, as you all know, when you have higher pressure air and lower pressure air, the high pressure region wants to "leak" into the low pressure region. At the wingtip, this causes the high pressure air to go around to the other side, which spoils efficiency (and generates wingtip vortices). The winglet acts like a small barrier that keeps the high pressure air a bit more separate from the low pressure air.
Earlier plane designs don't have winglets because aircraft manufacturing technology wasn't as advanced. Remember, the winglet is a member that's producing no lift, and is effectively a weight at the end of the wing. That weight leads to requiring stronger wing root fasteners (you've got a fair bit of weight at the end of a long lever arm), wing spars, etc. This leads to a heavier aircraft, which needs more fuel, and the end result is well, the efficiency gained by the winglet was eaten up by the extra weight for having one installed.
With today's advanced materials (composites), the winglet can be made much lighter, and the spars and other pieces can be much stronger than in the past. This results in a net gain in efficiency all said and done.
And no, there's no reason why any plane can't have winglets, other than the weight limitations. (In fact, most planes do have small wingtip modifications that while not a winglet, do provide some efficiency gains). It's mostly a weight vs. cost vs. benefit equation.