My personal opinion is that dreams are a way for the deep subconscious mind to communicate with the conscious mind of a person.
The way I see it is that consciousness is multi-layered or multi-dimensional. The different layers of consciousness are well.. different from one another. For example, our personality self is different from the subconscious mind.
My theory is that dreams are an intermediate state of consciousness connecting the conscious personality self to the subconscious layer of mind. Dreams arrange and display the content and information of the subconscious mind into a format is that understandable and cognizant to the dreamer’s conscious mind.
To me, symbolism is a way for the deep subconscious mind to enable the conscious mind to be aware of its inner workings. Therefore dreams are a kind of symbolic playing/acting of deep mind’s content.
By understanding the meanings of the dream via the interpretations of its symbols, we are able to vaguely figure out what may occur in the near future. How is this possible? There’s no definite answer to this. My personal take on this is that many life events are not really concidences. Instead they are the manifestation of the dynamics that are working within the deep subconscious mind. This inner workings step-down the multi-dimensional concsciousness and eventually manifests as events in our physical world. Dreams, are the intermediate layer of consciousness between conscious personality self and the deep subconscious. As mentioned earlier, dreams are a symbolic representation of deep mind’s inner workings. So, by interpretation of the dreams, we can roughly deduce deep subconscious mind’s dynamic around that period of time. By the time, the dreams are being dreamt, the deep subsconscious mind’s dynamics have already started the stepping down process into physicality.