) is a form of output redirection. It enables the calling program to capture the standard output of the called program. The disadvantage of this is that the output being captured could be very large, possibly exceeding the memory allowance of the calling program, causing it to crash. A more controlled way of capturing output is to use a pipe with
.
does not capture any output directly, it runs the command which will inherit the parent's standard streams.