WebDriver is more simplistic than Quick Time Professional (QTP). QTP tries to handle a lot of stuff for you. WebDriver expects you to work with basic elements and build up a library of functionality.
People who like QTP are willing to pay for all the functionality, like checkpoints, built into the product. People who don't need all the extra functionality or like the sense of control they have working with basic elements want something which is free and you are really paying for the person programming with the WebDriver framework.
For example, QTP will check the number of anchors and images on a web page. In WebDriver I can use:
List<WebElement> actualAnchors = driver.findElements(By.tagName("a"));
List<WebElement> actualImages = driver.findElements(By.tagName("img"));
int actualTotal = actualAnchors.size() + actualImages.size();
int expectedTotal = 37;
assertEquals(expectedTotal, actualTotal);
If I remember my QTP correctly, this is the equivalent of inserting a page checkpoint. In this example I expect there to be a total of 37 images + anchors on the given page. I ask the driver to give me all the anchors, <A>, and images, <IMG>, on the page then I add up the total. If it does not equal the expected total the assertEquals will throw an exception and it will continue to the next test.
In other words, simulating the equivalent of QTP checkpoints can be rather trivial for someone strong in WebDriver. Additionally, I could write a 'checkpoint' function which not only checks the totals but checks to see if the attributes are all the same. In other words, because WebDriver gives me more control, I can define my methods so they do more than the built-in methods of QTP.
On the other hand, if I am not strong in WebDriver and a supported programming language, it would be easier for me to use the built-in method of QTP.
Bottom line, you'll have to write all our own checkpoint methods in WebDriver. This may be a blessing or a curse.
Darrell