Here's my own summary. pip can do build_sdist -> unpack sdist -> build wheel if it wants to, serving as some kind of linter if you happen to run 'pip install .' during development. build_directory provides a way to ask for a clean build, the lack of which causes problems in bdist_wheel sometimes. It is one way to try harder to generate a correct wheel, not try harder to generate a correct sdist. An important class of "can't build an sdist" problems happen in an unpacked sdist, when the build system expects VCS metadata to get the sdist manifest. Perhaps you are patching a dependency and don't need to do new source releases in this case, but it would be really annoying if 'pip install .' refused to work. You can probably get a source distribution when you really need one, i.e. during ordinary development of your own package from a VCS.