I am admittedly under-educated in the relevant math, and can easily be humiliated by some elegant formulas with transforms, operators, matrices of functions etc. but let me present what I know in lay man vocabulary - perhaps I'm the right person to try, for exactly that reason:
I would guess that in your first "theoretical" sketch, the "bar graph" shows precisely centered ideal harmonic frequencies. They're integer multiples of the main frequency of your signal. You just do not consider any continuous spectrum inbetween the ideal harmonics :-) And then you compare them to an alternative frequency domain plot, which is continuous.
BTW, in your first frequency-domain "bar graph", the spacing of 0-1-3 seems weird :-) And, I would actually expect the main frequency to be the highest spike on the left, and all the harmonics to the right of it should be lower.
Next: discrete Fourier tranform (of which FFT is a special case) has an important parameter: the window size. This is the finite batch size (a sequence of time-domain samples), over which your "averaging" algorithm integrates. DFT/FFT is just a carton-full of weighted averages :-) One average per frequency of interest. So the size of your batch of samples determines, to what degree of precision (or statistical confidence/certainty) you can calculate the frequency-domain image of your original signal. The longer your window, the leaner your spectral lines will turn out. FFT is a version of DFT, optimized for 2^n-sized windows.
Mind the following apparent paradox: the leaner (more precise) you want to have your spectral lines, especially at relatively lower frequencies, the longer time you need to watch the time-domain signal (= longer "window"). Which at the same time means, that the resulting spectral change will be less "focused in time" :-) A bit of an "uncertainty principle".
If at some point in time there is some change in your time-domain signal, prone to affect the resulting spectrum (e.g., the main frequency changes), it will take you longer to take notice, if your DFT "window" is large. A longer window means more frequency precision but also a slower reaction in the spectrum domain.
BTW2: note that in your first freq-domain "bar graph", the amplitude is linear, whereas in your later graphs, the amplitude is logarithmic (dB units). This optically pulls the "skirts" around your "pure" spectrum lines up from the "noise background" - but it's really just an optical side-effect of your choice of scale (linear vs. logarithmic). Try it in any spectrum analyzer software that can switch between a linear and log scale.
Therefore also, the "decay" of harmonics towards higher frequencies appears much less steep (more gradual, slower).
Same effect for logarithmic frequency scale. In your first bar-graph, the frequency scale is linear (except for the 0-1-3 anomaly). In th latter spectrum graphs, the scale appears logarithmic.
On my job, I have a USB scopey gadget (the M595 by ETC) that comes with an interesting software-based spectrum analyzer app (only good as an overview spectrograph) that has tweakable knobs, making some of these effects very noticeable. You can tweak the vert. scale (lin/log), the window size and sampling frequency (by sizing and shifting the window of frequencies along the frequency axis in the freq.domain display). You can see the effects of your tweaks in your human real time :-)
Similar effects can be obtained in various FFT softwares - there's a freeware app called the SpectrumLab - can work with a sound card or a WAV file, has waterfall output etc. and allows you to select a very broad range of Windows sizes.
Similar effects can be observed in "RTLSDR-scanner": you can use a compatible USB/DVB-T dongle to scan the radio spectrum, and the software allows you to select the window size and other parameters... the effect of FFT window size is again clearly visible.
Somewhere at home I used to keep a paper copy of an old article: "More on Averages" by "Jack W. Crenshaw", published in the "Embedded Systems Programming" mag back in 1996 - I recall starting to get the grasp of the basics of FFT while reading that. I cannot find it now, but maybe you could get a copy in a library or something.
Imagine that for any frequency that you're interested in (in the spectral domain), you take a precise sinewave of that frequency, and use it as the "weight" in a weighted average, over your time-domain discrete sampling window. You do that for every frequency that you're interested in. Maybe that's where it should start dawning on you. (You should actually do this twice for each frequency, using the sine and cosine wave shape, resulting in a complex amplitude for the particular frequency = easily transformed into a scalar amplitude and a phase angle.)
Think of weighted-averating your time-domain window with the sinewave you're interested in. Now... what happens if your window is relatively small, maybe close to a single period of the frequency that you're trying to evaluate? Or some small non-integer multiple? Right - uncertainty / spurious artifacts at the lowest edge of your spectrum. For a given frequency, the longer your window, the finer your spectral image. The shorter the window, the coarser the spectral image (especially noticeable at the lower end, in logarithmic frequency scale).
Apart from window size, there's a related parameter called the "windowing algorithm" (Triangular/Hanning/Blackman etc.) - the way I understand it, it allows you to put "gradually faded edges" on your time-domain window of samples (= yet another layer of a filter / weighted average) which allows you to suppress some coarse artifacts at the lowest end of your spectral image which "are not really there" before you apply a sharply edged window.