We've all heard the stories of the person whose WiFi wouldn't work because they put a metal tray on the router. Cell signal is the same. Its strength and reliability are heavily affected by building materials.
The distance to the nearest tower as well as things like trees, mountains, and tall structures can also affect your signal. Here are the top offenders:
Metal: Metal is the worst cell signal disrupter. Aluminum, brass, copper, steel, iron, tin, etc. all affect signal. Any type of metal can weaken cell signal.
Low-E Glass: Low-E glass is often found in green-rated buildings, but it can hurt cell signals.
Brick/Concrete: Brick and concrete are strong materials that are really good at blocking cell signals.
Plaster/Drywall: Although it isn't as robust as brick or concrete, plaster can still weaken cell service as it passes through.
Wood: Depending on the thickness of the wood, it can absorb cell signals.
Thick Walls: Thick walls hamper cell signals from reaching the inside of buildings. The bigger your building and the more walls it has, the weaker your signal will be in the middle.
Electromagnetic Interference: Machines or any other device such as a fridge can interfere with cell signal, making it weaker.