Insulation (between walls) is an excellent way to soundproof. If you have access to inter-wall spaces you can use very cheap Fiberglas batting. If you cannot get to the inter-wall spaces easily, spray cheap insulation foam into the wall through a small hole. Putting rugs down on the floor helps soundproof for the room below.
When sound waves hit something soft it does not cause vibrations--soft things stop the sound. Putting drapes or curtains in a room cuts down on the sound. Covering the walls with tapestries or even posters makes it more soundproof. A really cheap way to soundproof a room is to cover every wall, window and door with soft cloth.
When sound waves hit an irregular surface they become "confused"--they cannot bounce off evenly and they cannot cause vibrations in a coherent manner. This is why you sometimes see panels that have lots of holes. These panels present a surface to the sound waves that breaks them up. These soundproofing panels are a cheap way to soundproof a room--especially if you put cloth or insulation (something soft) behind the panels.