As others have said their meaning is often ancient and has little relevance today, not helped by the fact that there will always be roads which don't fit the pattern or roads which have changed purposes. Here are the main ones:
Road - named after where it goes, so 'London Road' and 'Station Road' mean 'road to London' and 'road to the Station' respectively. Road is also used when there isn't a more appropriate suffix.
Street - a narrow, urban road.
Avenue - a road lined with trees, borrowed from the French. In America dual carriageways are often referred to as Avenues, and from that it's common to see any urban thoroughfare referred to as one.
Walk/Path - a very narrow street, designed for walking along.
Boardwalk - like a walk but along a waterfront, often on wooden piers (hence the name)
Way - a fast road. Historic walking routes often end in 'Way', it's presumed that this derives from "the way to...".
Lane - a narrow, winding, rural road, presumably coming from the fact that these roads are often only one lane wide ('Park Lane' being the regular exception).
Close/Court/Cove/Drive - a short road serving few properties (drive derives from 'driveway').
Bypass/Relief Route - a road which takes traffic out of one area.
Hill/View - speaks for itself.
Promenade - a road or path along the seafront.
Gardens/Green - a cross between a boulevard and a street.
Crescent - a road which starts and ends on the same road.
Circus - a circular road (more of a London thing).
Terrace - a residential road which is elevated above its surroundings.
Approach - a road built to serve something.
In cities which are designed around a grid, it's common to have all the main roads running from north-to-south ending in 'Avenue' or 'Way', and all the ones running west-to-east ending in 'Street', with other names used for service roads and diagonal ones.