Here is an interesting New York Times opinion piece by Ruchir Sharma, whose book is quite good. For the moment, however, substitute the word "forecast" with the word "prediction". To a first approximation, they are the same thing.
In machine learning, we would say something like the following. I trained my algorithm on a training set of hand-written characters. In a test set, it had a 0.978 accuracy rate overall. This is a so-called multi-class problem, as we have only 10 digits (or classes). Now, given this unlabeled hand-written digit appears on an envelope, my algorithm says it is a "1" with probability 0.984. A "1" it is (even though it could be a "7"), and the U.S. Postal Service has been doing this for a very long time to sort mail using ZIP codes.
In macroeconomic forecasting (or prediction), we are called upon to say something akin to "the US economy will grow by 2.3% in 2018." The industry standard is to produce a single number to one decimal place. As a matter of probability, however, this number will almost certainly will be wrong after the fact. One issue here is the failure to report the uncertainty around the forecast and its sources. That is, there may be a lack of transparency regarding the sources of uncertainty in a forecast, rather than in the act of forecasting.