Elevator Example and the Prolog VM

Why once/1 is deprecated? In favor of what? We use once/1 to get first solution (if any) of a nondet predicate.

Can you elaborate?