RF stuff
Why DVB rtlsdr dongle has a problem to receive weaker signals
The most important factors causing bad reception are overloading by strong signals and bad antenna design and placement. Long story short, build filter to pass only what you want to receive (sadly) and design good antenna and place it in line of sight of your signal source.
Frequency tuning inaccuracy
DVB dongle has a cheap circuit to receive a wide band of frequencies. It has cheap oscillator, that introduces initial frequency inaccuracy and therefore it doesn't tune precisely to frequencies out of the box. This would be a must even in cheaper devices such as PMR radios, that have to tune precisely to their radio channels. [1] For example channel 1 has center frequency 446.00625 MHz and bandwidth of 12,5 kHz. Next channel sits right next to the first one at 446.01875 MHz. Frequencies are spaced 12,5 kHz from each other. If the PMR device drifted with its tuning by few kHz, it would cause interference to adjacent channels. So even cheap PMR devices have more precise frequency tuning.
To tune precisely to signals you want to receive, you have to first know what is your frequency error in ppm (parts per million). My has around 61 ppm. You can determine your ppm by more ways. One is to find some known radio station with known frequency and set in its frequency (which will be off for now) and change ppm in your receiver software until your spectral plot shows you are precisely at it's carrier frequency peak. Now you determined the ppm. Radio station could be for example navigation beacon (VOR) in airband, it has quite narrow peak contrary to commercial wide FM stations. This was the more hard way which would give you some fun with discovering some transmitters in your neighbourhood.
Other easier way is to use programs that do it automatically. Some are based on tuning into GSM band and searching for known BTS channels. 2G is phasing out so this solution will stop working if they're not updated to more modern generations of mobile connectivity.[2] [3] [4]
Other than that, frequency tuning is temperature dependent and some users have modified their rtlsdr dongles to use more precise sources of clock, txco that have both better initial frequency precision and temperature stability.
Overloading by strong signals
any software defined radio accepts a wide band of frequencies (unless it has some filters built in in front of it's signal input). rtl sdr has two amplifiers inside (variant with tuner R820T2), one amplifying input from antenna, after it, there's mixer and after it second amplifier and there are some filters in the middle. All those frequencies go into first amplifier and later circuits and take their's dynamic range. They won' leave much or any headroom (dynamic range) for your useful weaker signal you want to receive. Basically if you try to receive radio amateur sattelites in 70 cm band, rtl-sdr becomes useless unless you filter out your strong interfering signals. There are bands that are working better even without filtering (i can successfully receive APRS packets from 144.800 MHz) but there are bands that are completely overloaded. Normal radio stations such as PMR's have filters for receiving PMR band and therefore have little problems with interference. Software defined radios are made universal and therefore they don't have filters on input and are susceptible to interference.
The solution is that you have to use input filters with your SDR. Strong are radio FM stations 88-108 MHz, some AM broadcasts, there are radio towers that can transmit hundreds kilowatts of power. You want to attenuate these signals even before they reach your first amplifier or anything that is a semiconductor in the way. You should place some filter between your antenna feed cable and any first active part that comes in the path: your rtl sdr or any amplifier (LNA).
First choose what frequency band you want to listen to. Next, you have two options how to get rid of unwanted signals:
Bandpass filter that let's trough only one frequency band. You have to have one for air band, one for 2m band, one for 70 cm band, one for any other frequency... They're not universal and you have to make or buy more of them and switch them if you want to listen to different band. Advantage would be, you don't have to think much what everything is overloading your receiver.
Band stop filters (notch filters). First you have to determine what strong signals you have in your neighbourhood. you could check list of AM, FM, DVB radio transmitters in your area, strong radars, and such stuff. Note their frequencies and try to tune them with your rtl-sdr. Get an wideband antenna, set some fixed gain in your receiver software and try to reduce gain. Maybe attach an attenuator, 10dB or 20dB between antenna and your rtl-sdr. Note which of those signals are stronger and get trough attenuator. Choose the strongest ones and start building bandstop filter stages. You can make a wide band stop filter to put out whole FM band at once. You can check if filter worked by setting a constant RF gain and trying with and without filter. If you disconnect antenna you will see how many dB has your noisefloor on spectrum plot. If you attach antenna this goes up. Note how many dB over noise floor has your strong interference without filter and with filter attached. Check if your band of interest is not attenuated by your bandstop filter. If you still can't receive your signals, try to filter out next strong interference frequency. You will end up with multiple filters connected together. Some interfering bands need more filtering stages.
Check out CoaxNotchFilter for some links how to build notch filter from coaxial cable. Advantage is - it's very easy to build and tune and is very modular. But it isn't that cheap because it needs connectors or some metalic shielding box.
Bad antenna design and impedance matching
If the antenna isn't designed right or if you have good antenna and it's not impedance matched with receiver, antenna's ground plane is not well tuned, or the antenna is badly situated you won't get a good signal.
First, free line of sight to the transmitter and antenna placed high over ground is best for the reception. If you have antenna somewhere indoors, you will have problems to receive many of weaker signals. You have to put antenna out of the window or on balcony or better on roof of the building. Next you have to choose reliable antenna design, there are non working designs published and shared that just seem to work only because some bad impedance matching causes shielding of coaxial cable connected to antenna working as an antenna instead of your actual antenna. You want to defeat your radiating coax performance with a good antenna. :)
Antennas need good reference to the ground for good reception. there is a antenna called ground plane antena, it has one vertical rod connected to center of coaxial cable and few rods pointing diagonally to ground connected to the shielding of coax. These ground plane rods need to be pointed around until standing wave ratio of antenna goes to good levels. This is measured by SWR meter. Then the antenna will have good reception. This antenna tuning is needed because antenna has it's surrounding of walls and metalic objects that needs to be compensated for. [5]
If you build some special antenna, compare it's reception with ground plane antenna or dipole antenna, they are easy tu build.
Radio imperfection
Now when you got rid of strong interfering signals, have built and tuned well working antenna and have your frequency error calibrated you should be able to receive weaker signals on any band that is supported by your tuner type. You are just left with the problems that the radio itself has. The circuit has it's own (thermal) noise that it generates, there is noise and interference coming from USB power line. This noise increases your noise floor and takes away some of your dynamic range and prevents you from receiving very weak signals. Other than that, there are so called spurs or birdies that look like some continuously transmitted signal and are situated all around your spectrogram and they don't change their amplitude much. If you tune a bit around you see them disappearing completely, some of them look like they are fixed in band you are receiving and they move with tuning away. It was reported that there is some spurious noise right in the middle of spectrogram which doesn't move and can be reduced by modifing rtl-sdr by adding more quality and filtered DC powering for IC's. All those were spurious signals generated by working of RF circuits, they will be there and there is no much other to do with them, maybe moving to better quality SDR hardware.