The difference is that virtual sites listed in the sites-enabled
directory are served by Apache. In the sites-available
directory there are the virtual sites that exist on your server, but people can’t access them because they are not enabled yet.
sites-available: this directory has configuration files for ApacheĀ 2 Virtual Hosts. Virtual Hosts allow ApacheĀ 2 to be configured for
multiple sites that have separate configurations.sites-enabled: like mods-enabled, sites-enabled contains symlinks to
the /etc/apache2/sites-available directory. Similarly when a
configuration file in sites-available is symlinked, the site
configured by it will be active once Apache2 is restarted.
See https://help.ubuntu.com/lts/serverguide/httpd.html.