One of the biggest changes in the story from Holinshed's is the switch of Banquo from a villain to moral character. The main reason for this was political. King James I (James VI of Scotland) had recently ascended the throne of England when this play was written. Since James was a Stuart, and the Stuarts of Scotland were descended from the (probably mythical) figure of Banquo, it was in Shakespeare's best interest to make the current king's ancestor an admirable character. Not only that, but the scene of Banquo's ghost shows a line of Stuart kings "to the crack of doom." Shakespeare was flattering James' ancestor, and predicting the permanence of his royal line in England.
There were other significant changes, mostly for political reasons (though some of them were for dramatic effect.)
Shakespeare's principal source was the Chronicles of Holinshed...[but] He makes many changes, however, and not merely for economy, which explains the conflation of two separate wars, one fought against the rebellious Macdonwald and the other against the Norwegian Sueno. Holished does not describe the murder of Duncan, merely saying that with the connivance of certain friends (including Banquo) Macbeth killed the king at Inverness.
Also, the Weird Sisters were added because of James I's particular interest in the occult (he was the author of a book on demons called Daemonologie.)
Source: The Riverside Shakespeare. G. Blakemore Evans, ed. Boston: Houghton Miflin, 1974.