I use three MIT licensed projects in my source code. Do I need to include three copies of the MIT license (in different directories), or can I just include a single copy of the MIT license on the root? If a commercial software uses my project where does it need to include the MIT license?
In your source code, you only need to keep the MIT license notices of your dependencies intact – you do not have to add them anywhere. If someone builds upon your software, they have to comply with the licenses of their entire dependency tree, and also look at your dependencies.
If you distribute your software in non-source form (e.g. compiled or minified), you still need to keep the notices intact. Then, it would make sense to copy the MIT license notices of your dependencies to a separate file, or to show it in a help message within your software.
The notice that you must preserve consists of both copyright notices and the MIT license text. There are two different variants of the MIT license (Expat and X11) which cannot be exchanged. But where the precise license text is duplicated, you are free to include it only once. For example:
Copyright 2019 your name
Your license text
Third party software
Copyright 2019 someone
Copyright 2016-2018 someone else
Third party license text
Permission is hereby granted ...
You can also look at how web browsers like Chrome or Firefox do this, which is generally reasonable. E.g. Firefox includes license text once, unless it differs with copyright notices or other additions. This means that MIT-licensed dependencies are each listed with their own license (e.g. “the dependency A license”), whereas standardized license documents like Apache 2 or GPL are only included once.