Don't create web applications with different ports unless you have a very good reason to do so. Your users will always have to type the port numbers in their URLs, and you will need to insure that your custom ports are not blocked in your network, or used by other network services.
Usually bad: http://SharePoint.local:81 and http://SharePoint.local:82
Host headers are a very good idea. They produce "natural" URLs and should never be blocked by your network.
http://SharePoint.local http://sales.SharePoint.local
Host Named Site Collections (HNSC) are also good as they are clean URLs. Choosing between #2 and #3 is largely around special needs for security, features and backup/disaster recovery.
Host Named Site Collections in a single Web Application:
- All site collections are stored, by default, in a single database. The admins can create multiple databases and manually set where each new site collection is stored. (Good use of PowerShell scripts to build site collections.)
- Any Feature enabled at the Web Application level impacts all Site Collections.
- New Site Collections must be created using PowerShell (HNSC is not supported in Central Administration.)
- A bit more administration work as HSNC not supported in Central Administration.
Separate Web Applications:
- Can have unique Features enabled, and each have their own web.config files for any unique configurations needed. (Authentication, etc.)
- Can be fully managed in Central Administration, or by using PowerShell.
- Have their own unique database(s) that can be backed up and restored separately.
- Can be individually moved/copied to another farm (for dev testing, etc.)