My understanding is that HA can be achieved using either of the below and my concern was which IP address should client applications use when connecting to SQL Server:
Failover Clustering: For this setup the windows cluster and assign DNS/IP to this cluster. Then using SQL Server installation media we install SQL Server on a node and add more nodes to the cluster. If primary fails then another node will be brought online and will continue to service request. Am I right to assume that the clients should use the above cluster IP address to access SQL server? And that the Cluster IP address will decide where to direct the request to?
Always on Availability groups: For this setup the windows cluster and assign DNS/IP to this cluster. Then we configure the AG on primary SQL Server and add more instances to the AG. We configure the Listener and give it a DNS/IP address. I know that client apps should use the Listener IP address and that if primary fails then the requests will to auto directed to the secondary by the listener. So what is the purpose of having the cluster DNS/IP address also?
Combine the above - to get Always on Clustering (Clustering+AG): For this setup the windows cluster and assign DNS/IP to this cluster. Then using SQL installation media we install SQL server on a node and add more nodes to the cluster. Then we install a separate new SQL Server instance, add this to the same or separate Windows cluster. Then create an AG on one of the clustered nodes and add the other clustered node and also the newly created separate SQL Server instance into the AG. Here also I assume that client apps should be connecting to the Listener IP address and not the cluster IP address?