There is a good reason why listening is often the hardest of the four language skills to master. When you're reading and writing, the language is visible and therefore easier to understand. You have a blueprint which you can study and examine at your own pace. Even speaking is easier, since it is often influenced by your writing ability. When you learn to write clear and correct sentences, your brain remembers and uses them while you're speaking. The blueprint is in your mind: you can see it and recall the sentences you need to use.
Listening, however, is immediate and invisible, like the wind. You can't catch a spoken sentence any more than you can see and catch a breeze; once the breeze has passed, it's gone for good. We can remember the sensation we felt when the breeze touched our skin but that sensation is all we have. When you hear a person speak, you have the memory of the sounds they made and that has to be enough; the actual words are invisible and gone. Just like the breeze.
This is why it is so important to listen in context. To do this, you need to focus on the subject being discussed and anticipate the possible responses you might hear. For example, if you and your friend are deciding whether to go see a movie, the context of the dialogue includes a particular movie (or selection of movies to choose from), a theater and a yes/no decision. In this context, you can expect to hear words related to the subject such as film, cinema, actor, director, drama (or other genre), words related to agreement and so on.
In this example, the vocabulary you're expecting to hear is complex and at a higher level, so you're less likely to misunderstand what you hear (unless the vocabulary is unfamiliar). In day to day conversations (chit-chat or small talk), we use simpler language. These simpler words can have multiple meanings or sound like other words which they could be mistaken for.
Let's look at another example: you're talking to a friend who says “I think you're ______, we should go see that film” but you become distracted and don't hear one or more words. We can guess that the missing word is “right” or something similar (like “correct”). This is easy to guess, but what if you heard “I _____ you're _____ and we should ___ _____ _______ film”. Now a lot of information is missing (this can and sometimes does happen when you're listening). This can even happen to native English speakers, causing misunderstandings. It's also true that if we expect to hear a different word or words, we can momentarily stop listening and think we heard the words we expected to hear. Now we have misunderstood the speaker, which could cause confusion or even an argument.
If we use the context (the topic) to guess what we didn't hear (or to check if what we thought we heard makes sense), misunderstandings are less likely to happen. Again using our second example, we are discussing whether to go see a movie and which movie (if we decide to go); but we are distracted and only hear part of the conversation (“I _____ you're _____ and we should ___ _____ _______ film”). Despite not hearing, we can still make an educated guess at the missing words.
ie. “I (think/believe/guess/agree) you're (right/correct) and we should (go see this / go watch that / take in this / take in that) film”.
Using this strategy, we can stay involved in the conversation even if we didn't hear every word. When you're new to a language and feel like the words are coming at you like machine gun bullets, giving yourself a listening context can be a lifesaver.