A novice might think that all you've got is input data and results: nice and tidy. Reality is typically far different. Not only are there many dead ends that didn't turn into useful results, there are also seemingly innumerable "helper" tables, fields and scripts that did contribute to the final result.
These artifacts are absolutely necessary to make the results repeatable. The problem is that while they may be necessary, their mere presence clutters the project, even if we adopt standards to minimize their impact. This can obscure both the critical components (fields, scripts and tables) that we need to interact with, as well as the results themselves.
This may not matter right now, but for reviewers, or those who take over the project in the future, it can make the project much more difficult to understand or repeat, even with appropriate documentation.
The rule we try to live by is to rely on documentation as little as possible, so clarity in the project is paramount.
The other problem is tidying up after one's self. Most of the tables created along the way are no longer necessary once we get results. They are transient files that were needed at the time, and will be automatically created again when the analysis is re-run, but aren't required the rest of the time. This leaves you with three possibilities: