Though a VLAN has a lot in common with the subnet (like restricting broadcast domains, security through isolation of different sub-networks, etc), there are some important differences between the two.
VLAN is a Layer-2 Concept & Subnet is a Layer-3 Concept (MAC address vs IP address).
VLAN’s allow for creation of different logical and physical networks but subnets allow for creation of different logical networks only.
If a network sniffer is employed, users from one subnet can discover the existence of other subnets, but this cannot happen with users of different VLAN’s.
With Subnets, since the physical network is same for all networks, the available backbone bandwidth for each subnet is shared and hence reduced.
VLAN’s are more efficient and easier to implement / manage than Subnets.
Within an enterprise, VLAN’s are more secure than subnets. But VLAN’s are also vulnerable – mostly from hacking attempts from outside the network.