Buffering is really just pre-loading.. It's basically just loading something before someone is actually going to see the information.
As a picture loads, you see the picture start to appear on your screen. When a video is buffering, it's really just loading up more frames of the video, ones you haven't actually seen yet.
Loading is a more generic term for getting content ready for viewing, whether it's at that moment, or in the near future. Buffering is specifically get content ready for consumption ahead of time so there's less lag or wait time. If you buffer a video ahead of time (like on Netflix), then even if your internet connection can't quite load the video as fast as it's playing, you still have the 'buffer' there to prevent the video from stuttering.