The main reason for the Apply feature is to yield closure in the user. What I mean by that is that you don't want to complicate a task for a user, making the user having to think too much about the mere interactive pattern of an application but rather the main task at hand. In this case it's really to ensure the user that changes the user makes are being saved without the user having to worry about it.
The Apply button is most commonly used in dialogues that feature more than one tab/perspective. The apply button is there to ensure the user that changes being made in one tab will not be lost when the user switches to another tab. This can of course be easily technically avoided, there's usually no problem to store changes that are not currently being displayed to be saved at a later stage, but the user is not aware of this, and that's the problem.
In some ways it can almost be regarded as a placebo control. There is no real use for it, in most cases, since changes can be cached outside the displayed content to be saved when the user finally clicks OK. However, if the user doesn't know this, and worries about whether or not their changes will be lost if they switch tab, they may start clicking OK for every change they make. And that would be very inefficient. I have to point out that I am aware of instances where changes has to be made and saved before continuing, so I know that there can be some actual technical functionality to the Apply button, however those are the rare cases.
Regarding your Preview idea. I see two direct flaws with it.
First and foremost Apply and Preview has two different semantic meanings to them. Preview conveys that changes are not actually being made, but that you're rather temporarily tempering with settings to see what WOULD happen. This is not however how Apply works, Apply will save the changes in the same way as if a user clicked OK. Therefore I don't see it transferring correctly.
Secondly the Apply feature is usually used where a "Preview" wouldn't make any sense. Eg:
- Set file attribute to Read-only, Preview -> ?.
- Cancel report subscription, Preview -> ?.
However, where it does make sense, like in graphical tools, this terminology is also utilized. Eg:
- Apply filter, Preview -> Render with new filter.
- Rotate 35°, Preview -> Display object rotated by 35°.
Here it's utilized because it makes sense.