Java-SDK : Any guidelines on when to use WorkflowClient.start vs WorkflowClient.execute to invoke the async workflow execution

What is the cons if WorkflowClient.start is being used always to initiate the workflow vs WorkflowClient.execute

Use start when starting workflow and do not plan to wait for the workflow result in the same process. Use execute to start a workflow and then wait for the result.