Answer:
First of all. Speed is a scalar: ie, just a number. It does not take into consideration how far apart you moved from the starting position, just how long you traveled. A racecar that runs on a track 100 km long in 1 hour will have a speed of 100kmh, even if it ends the race at the same position it starts at. Still in the car comparison, the average speed measures how many km the car traveled, divided by how long it took to get there, with no information on how the trip went (was there a traffic jam and you had to travel at walking pace for half an hour? noone was there and you went 80 in a 30 zone?)
Velocity, is a vector. It takes in consideration direction and orientation. If you were in Paris with a friend, and both boarded a train, one bound to London, the other bound to Berlin, both traveling at 100 kmh, speed would be the same, but direction and orientation (thus velocity) would be different. Back to the racecar example, if you consider the whole circuit, the car started in the same place it started, so the difference in position is zero, and the average velocity would be zero. Average velocity is simply the total displacement, in a straight line, from start to finish, divided by the time it took to happen.
Finally, instantaneous velocity is again a vector. Back in the car example, it's oriented as the direction the car would travel if the steering wheel was neutral, and has magnitude equal to the speed you read on the speedometer. It is aligned to the direction of travel if you are moving in a straight line, and it becomes tangent if you are on any curved trajectory. Analitically, it's what happens when the average velocity is calculated for a infinitely small variation of time.