Practical Applications of upsampling and downsampling
Simplest reason for downsampling is simply to reduce the amount of data you have. Say you have a audio raw stream sampled at 44.1 kHz. You may simply want to reduce your data rate to 22.05 kHz because your algorithm can work with that sampling rate. Apply the same principle anywhere else. Just because you have more data does not mean you always need it. It may sound untrue but it is like saying do I need something upto 10 decimal points of accuracy or will 2 decimal points do? [Not exactly the same but you get the idea]

A simple reason to upsample to to interpolate. You have data which is sampled at a particular rate. You want to upsample it to get intermediate points between the actual data.  [Think of curve fitting. you want more points on the curve.]

There are implications to downsampling and upsampling. Not every downsampling is the same and not every upsampling give accurate interpolation. You will learn more as you go along. 

Edit: Thought I'd give another simpler real life example
Image scaling: if you have a small image. You upscale it. This is upsampling.
If you want a smaller version you resize to a smaller size. This is downsampling.

Ofcourse practical scalers will not just add 0's and upsample and downsample. [You could do that too, but the output will not look good]. But it should give you another idea of where upsampling and downsampling is done.