What is VPC?
We can consider it as a virtual data center in the cloud. According to the definition by AWS, it is Amazon Virtual Private Cloud that enables you to provision a logically isolated section of the Amazon Web Services Cloud where you can launch AWS resources in a virtual network that you define. You have the ultimate control over the virtual networking environment, including selection of your own IP address range, creation of subnets, and configuration of routes tables and network gateways.
Furthermore, you can cutomize the network configuration for your Amazon Virtual Private Cloud with ease, for instance public-facing subnet for your webservers that has access to the Internet, and place your backends systems such as databases or application servers in a private-facing subnet with no internet access. You can leverage multiple layers of security, including security groups and network access control lists, to help control access to Amazon EC2 instances in each subnet.
On top of that, a Hardware Virtual Private Network(VPN) connection can be created between your corporate datacenter and your VPC, and the AWS Cloud could be an extension of your coporate datacenter.
What can you do with VPC?
You can launch instances into a subnet you choose to use, and then assign custom IP address ranges in each subnet. routing tables configuration is available between subnets and creating internet gateway and attaching it to VPC is possible. You can have more powerful security control all over your AWS resources with instance security groups and ACLS(subnet network access control lists)
VPC Peering?
This feature allows you to connect one VPC with another via a direct network routing using private IP addresses.
Some instance would behave as if they were on the same private network.
Peering VPCs with other AWS accounts as well as in the same account is possible.
But transitive peering is not possible, you need to peer each VPC directly to one another.
Further Explainations
What is subnet? subnet is shortened word of subnetwork. Yes, it is a sub-part of a network. It is mostly used to identify machines on the same local area netowork(LAN) in an organization because subnetting expands the availability of a single network. Ofcourse, without subnetworks, it is also possible for one organization to have multiple internet connections that require unnecessary use of the limited number of network numbers the Internet has to assign. At the same time, out side of an organization, the Internet routing tables on gateways should be entangled with the routing inside the organization unnecessarily. That’s why subnetworking is needed.
A user or a host computer communicates via Internet with its own network address, and we call it IP address. This consists of 32-bits that split into two parts: network number and host number. The network number is used for identifying network and the host number is for machine identification in that network. For the better usage of numbers, the two parts could be three parts: the network number, the subnet number, and the machine number.
32-bit ip address is often depicted as a dot address which is four groups of decimal numbers separated by periods.
For example, 130.5.5.25
each of the decimal numbers represents a string of 8 binary digits like
10000010.00000101.00000101.00011001
some portion of the IP address represents the network number or address and some portion represents the local machine address(host numbers). In regards to this, IP addresses can be one of severl classes, each determining how many bits represent the network number and the host number.
The most common class used by large organizations (Class B) allows 16 bits for the network number and the rest of 16 bits for the host number.
Take a look at this chart for visual understanding.

Two parts
<--Network address--><--Host address--> 130.5 . 5.25
Three parts
<--Network address--><--Subnet address--><--Host address--> 130.5 . 5 . 25
Once a packet has arrived at an organization’s gateway or connection point with its unique network number, it can be routed within the organization’s internal gateways using the subnet number. The router knows which bits to look at (and which not to look at) by looking at a subnet mask, which is a screen of numbers that tells you which numbers to look at underneath. In a binary mask, a “1” over a number says “Look at the number underneath”; a “0” says “Don’t look.” Using a mask saves the router having to handle the entire 32 bit address; it can simply look at the bits selected by the mask.
Extracted from http://searchnetworking.techtarget.com/definition/subnet