Hi,
VNET peering - It is used to connect 2 Virtual Network and VMs in each Virtual Network can communicate with each other. It is the most cost effective way of connecting 2 VNETs.
vWAN- You will need to create a vWAN HUB and then connect the VNETs as spoke and then you can communicate between each VNETs via HUB. This comes with the cost of the vHUB that you deploy. This is scalable as lets say you want to connect your On-Premises to Azure or centrally monitor the traffic between each VNETs, this is an option that you can pick.
VPN gateway - You will need to create 2 VPN gateways, one in each VNET then form an IPSEC tunnel between them. Then you can connect those 2 VNETs, where you will need to pay for the VPN gateway per hour basis.
It totally depends on your infrastructure.
Regards,
Karthik Srinivas