"Waterproofing" is an expensive and touchy process, because "waterproofing" means making it absolutely leak proof. In fact we rarely waterproof a basement, we generally "Damp proof" it. This means that we make it water resistant.
Damp proofing is best done on the outside with specific bitumen coatings, that black asphalt like stuff you see when building a new house. First you caulk or otherwise plug up any holes and cracks. Then you apply the bitumen coating. If you really want to "waterproof" the foundation there are special DIY coatings like Xypex or professional rubberized coatings, like Blue Max that will do the job. Sealing products that do not breath, including some paints and all plastics, must not be applied above ground level on the outside. Above ground level the wall must be able to breath outward. The best combination for water control is a standard "damp proofing" on the wall, then either an air gap membrane to drain water away, or exterior insulation that does the same thing. If there is no water pushing against the wall, you don't even have to worry about cracks.
Interior sealing with good quality products has worked quite well, but note that a concrete or block wall sealed in this way will develop a high concentration of moisture inside the wall itself if there is a water problem outside. Interior insulation on top of this interior sealed wall could cause freezing problems within the concrete or between the inside the blocks. If such problems do develop they could probably be stopped by adding exterior insulation, thus raising the wall temperature above freezing.
Click here for a longer discussion about keeping water out of the basement.