There are many useful pieces of information on each of the above answers. I am here summarizing the main concepts of each of them.
Update April 2020: Pro and cons in using WSL are here explained. There is clear why having a real Linux kernel is an advantage!! Additionally, here there is a guide to install WSL 2 onto your Windows 10. If you have installed the WSL 1 and you want to pass to WSL 2, here you can find the instruction for doing it.
Update August 2019:
The new WSL 2 was released (read here for more information). It seems that you can work with a real Linux kernel and with a Linux file system. Honestly, I haven't tried the new version so far (it is on my TODO list).
Update May 2019: as pointed out in one of the most recent answers, WSL is evolving by using the real Linux Kernel and giving many more options. I have been through this document and, if confirmed, it will be a big step forward. Here you can find a nice article about the topic "real Linux kernel on W10"
Answer July 2018
"Ubuntu on windows is the complete Ubuntu userland on top of a Windows kernel in Linux-Compatibility mode", as point out in one of the comments.
What I can't do:
- Officially, no graphics interface supported so far. This means also that graphics applications cannot be executed. Additionally, the standard GUIs of the classic Ubuntu Linux-based are not supported for this reason of course.
- The kernel of Linux developed by Linus is NOT part of the Windows Subsystem for Linux (WSL). This means that you cannot develop drivers and try it directly.
- Not every command line works.
What I can do:
- Use the command line and the basic Bash shell. It is possible to write and execute scripts.
- Develop applications (compile or cross-compile and execute them) but with no graphics so far.
- Use "apt-get" to install/remove new/old packets.
- other distributions are officially supported (like, for example, Debian and Kali)
these applications are free, downloadable from the Windows Store and here you can find the instruction to install and use it.
In this other question of the blog, some suggestion on how to use a GUI for WSL (unofficial, third party)