The most obvious use of laziness in an everyday language is the "if" statement, where only one branch of the conditional is executed.
The opposite of a purely non-strict (lazy) language would be a purely strict language.
There is an least one case where 'purely strict' is beneficial, namely branch predication.
Rough paraphrase of the linked article:
Long ago in the world of CPUs, instructions to execute were loaded when the branch condition was tested. At some point, instruction pipelines were added to cut down on the load time. The downside was that a CPU would not know which branch it needed to load, so it would by default load one. If the branch went the other way, the pipeline would stall while the code for the other branch was loaded.
The solution is to load both branches, execute both branches, then the result of the conditional tells you which branch result to keep, and which to throw away. Then you don't get pipeline stalls.
This is my favorite (only?) example of the benefit of a purely strict language.