Performance is the main reason to keep them decoupled.
Your Task List will interact against the Task Database instead of affecting the process schemas. So if you have a large amount of users hitting refresh in their task lists the process engine doesn't need to know about. You can configure both persistence mechanism to use the same DB if you want.
CHeers