While most cars that are driven and maintained regularly don't need an engine flush, there are a few cases where doing an engine flush may help:
Cars with an unknown maintenance record. If you just bought an older used car for a great price but it didn't come with any maintenance records, an engine flush followed by a few quarts of fresh oil might save you a headache later.
Cars with recent internal engine work. You know the maintenance record of this engine -- and it's major. If your car had any engine work done, an engine flush could wash away leftover particulates before adding new oil.
Cars with a long interval between oil changes. Again, you know the service record of this car, and you know the owner rarely (if ever) changed the oil. There's almost certainly buildup in the engine, since dirty oil only gets dirtier. An engine flush could give the car a longer life.