Web Applications are one of the very important and a bit confusing topic in SharePoint. Let's try to simplify the same. If you have worked on IIS, we create an IIS site which is the actual URL of the IIS site. You specify a host header and port number while creating an IIS site. We then use the same URL with a port number to browse our IIS site(e.g. http://itfreesupport.com:8081 or http://computername:80). We create a Web Application from SharePoint central admin which creates sites in IIS so we can say that SharePoint Web Applications are IIS sites but managed and created from SharePoint Central Admin.

Each Web Application created in SharePoint central admin is associated with an IIS site. We cannot have multiple web applications for one IIS site but we can create up to five IIS sites for one web application (using Extend Web Application feature). This means we can browse same content from different URLs using different IIS sites\web.config files.

Microsoft supports up to 20 Web Applications in a SharePoint farm but we can create more than 20 web applications.

Every Web Application will have a minimum of one content database but there is not a hardcore limit of databases a Web Application can have. Microsoft supports up to 500 content databases in a SharePoint farm so technically you can have up to 500 content databases for a single web application.

On your SharePoint server under services, if you have “Microsoft SharePoint Foundation Web Application” service running\started it states this server is a WFE (Web front end) server. End users will access your SharePoint sites and services through these WFE servers.

Another very important feature of Web Application is the authentication method for SharePoint site. We set authentication method\type (Claims authentication, NTLM authentication, Anonymous authentication, etc.) at Web Application level. As discussed already, you can have five IIS sites (extended web application) for a single web application which means you can have five different types of authentication for the same web application.

We can create a Web Application using a PowerShell, command prompt (cmd) or through SharePoint Central Admin. To create a new Web Application through PowerShell using this command:

$ap = New-SPAuthenticationProvider
New-SPWebApplication -Name "Itfreesupport" -Port 80 -HostHeader "itfreesupport.com" -URL "http://itfreesupport.com" -ApplicationPool "AppPool" -ApplicationPoolAccount (Get-SPManagedAccount “domain\user”) -AuthenticationProvider $ap

To create a new Web Application through stsadm command follow below:

stsadm -o extendvs -url "http://itfreesupport.com" -ownerlogin domain\user -owneremail "user@itfreesupport.com"

To create a new Web Application through central admin follow below:

Open SharePoint Central Admin > Select “Application management” > Select “Manage Web Application” > Select “New” on top ribbon > Complete the details e.g. port number, host header URL, etc. and click OK.

Reference: http://itfreesupport.com/2015/05/what-is-a-web-application-in-sharepoint/