You defend a great shooter by relentlessly dogging him to restrict his opportunities to touch the ball. You always want to be close enough to touch him when he catches the ball, before he has a change to put up a shot.
One the shooter catches the ball, don't go for ball fakes; crowd him and force him to put it on the floor. Don't let him get a good look at the basket. If he goes up for a shot, get an extended hand to the ball to challenge the shot. If you're smaller than the shooter or if you have quick hands, try to strip the ball from his hands before he can get the ball into shooting position. Always force him to shoot with his weaker hand and from the direction he least prefers.