Given the supernatural overtones of the play, it is at least possible that the ghost has decided to only appear to Macbeth, and that he is not hallucinating it. It is odd, however, that his dinner guests, including his wife, do not see the ghost. But in any case, the scene is certainly evidence that Macbeth is torn by guilt and fear at the crimes he has committed. Indeed, Lady Macbeth is afraid that he will confess to the murder of Duncan in his railings against the apparition. It is important to remember that Macbeth hesitated to commit the first murder, of Duncan, and that he is not, at least in the first half of the play, completely without conscience. It seems that Shakespeare wants to show that the murder of Banquo is the turning point for Macbeth, after which he spirals into homicidal paranoia. This does not mean he does not feel guilt, indeed, his first words to the ghost were:
Thou canst not say I did it: never shake
Thy gory locks at me.
This is not the only time that guilt is expressed through terrifying hallucinations. Lady Macbeth's famous "out, damn'd spot!" speech later in the play is used to indicate her guilt.
You are making an assumption that Macbeth’s guilty conscience causes him to hallucinate Banquo’s ghost. I cannot agree. Everyone in the audience sees the ghost. It is a real ghost, not an hallucination. Macbeth does not appear to be feeling or acting guilty just before he sees the ghost. In fact, he seems to be in good spirits, mainly because he has been informed that Banquo is dead. He says to the company: “Now, good digestion wait on appetite / And health on both!”
Banquo’s ghost appears on its own initiative, and not in Macbeth’s imagination. Although Banquo is dead, his spirit wants to frighten Macbeth and to remind him that his heirs and not Macbeth’s will be the kings of Scotland in the future. In other words, Macbeth’s guilty fears are caused by the ghost, rather than the ghost being the creation of his guilty fears. The only people who cannot see the ghost (for whatever reason) are the assembled guests and Lady Macbeth. The rest of us can see Banquo here at the banquet and later when he appears in Act 4, Scene 1.
Probably Shakespeare's main reason for bringing Banquo back twice as a ghost was that Banquo was an important and interestinig character and Shakespeare wanted to maximize the use of the actor playing the role. Furthermore, audiences find ghosts interesting and excitiing. This may also have been true of the ghost in Hamlet, who was brought back rather gratuitously during Hamlet's quarrel with his mother in Act 3, Scene 4 of that play.