Yes you are partially correct; while free will does have a lot to do with it, as well as destiny (the decisions we make, good and bad are all part of our destiny and very much a part of our learning lessons while here on earth) there is also Divine Timing. When Spirit speaks they do so in a different time frame than what we know here a linear time. This is why we should not put so much emphasis on “when”. There are many reasons the timing changes on a prediction. That does not mean that the prediction will not come to pass. This is why patience needs to be developed along with an open mind and no expectations.
I myself had a reading from a very good psychic colleague 11 days before I had a house fire! Neither of us received that information…..reason being, it had to happen! No need for blame on anyone’s part. There are times when Spirit will not divulge things and I am told “tell them that they are on a need to know basis and they do not need to know right now”. It is not for us to question Spirit or demand things like petulant, spoiled child. We must accept and allow and look for the blessing and lesson in all that occurs in our lives, as this is how we grow and progress.
I hope this helps you.