WinMain() is Windows specific entry point to a Windows-based graphical application (you have windows stuff). main() is a standard C++ entry point (in Windows, it's a console based application)...
That said, you can use GUI stuff in console applications and allocate console in GUI applications.
I would recommend reading on consoles and GUI applications in Windows on MSDN.