Often, the cause of spiky/noisy histograms is that an image was created with low resolution of the levels - low bit depth, like 8-bit or many jpegs, as Niranjan said. Then resampled or otherwise adjusted, for example by tweaking the contrast or color curves. This results in re-quantizing the data onto a new low resolution representation, causing spikiness in the histograms and a posterization effect in the image.
Scanning as 16-bit TIFF ought to avoid that but you also have to check what the internal representation of the editing program is doing - if it's converting your TIFFs to a lower resolution format when they are imported, then you'll need to change that. Ideally, if the bit depth needs to be lowered (eg exporting JPEGs for web display) that should be the very last step after all other adjustments.