It prevents backtracking. So its a performance thing (which I also implemented for UrlMatching/route compiling some time ago).