TUN/TAP are both virtual network kernel devices for advanced networking purpose such as VPN servers (i.e SoftEther VPN or OpenVPN)and special tunnels (i.e GRE Tunnels or Tunnel Broker IPv6 on OpenVZ over TUN/TAP).
TUN is simulating a
layer 3 network device and is used for routing of traffic. TAP simulates a
layer 2 network device and acts like a network bridge between you and the server (like you would be directly connected to the server with a cable but virtually).
They do not improve network speed or the network quality. Both are user space components and they simply virtually reproduce what usually a direct connection between you and a server would be if you would be connected to it directly over cables/switches. And since something like that is done over the Internet you can only use this two devices to emulate the connection.
PPP is a point-to-point protocol. It is also used for tunnels and can be used for VPNs such as PPTP VPNs. It works in a quite simple way: it creates a tunnel between you and the server. You send all requests to your server through that tunnel and it sends back the reply to you through that tunnel. All information going over the Internet is never leaving the tunnel when sent to you/from you to the server.
It works basically like TAP by also being a layer 2 device and creating a connection between you and the server that is used for all communication. More information:
https://en.wikipedia.org/wiki/Point-to-Point_Protocol
Finally I'd like to add that if you value privacy and security: do not use PPTP VPNs!