Vision

Vision describes what a unit can and can't see from its current location and state. Places a unit cannot see are filled with the Fog of War, a dark mist that hides units inside of it. Invisible units can't be seen even when outside of the Fog of War, unless they are spotted by a unit with True Sight. Units can't see through trees or to higher elevations - the only exceptions to this rule are flying units, who have unrestricted Vision, and Night Stalker with an Aghanim's Scepter.

All units on your team share Vision, which means that if a unit can see through the Fog of War, all allies can as well. This also applies to Lane Creeps and other controlled Creeps.

Fog of War
All areas outside of friendly Vision become Fog of War. Any non-friendly units within the Fog of War cannot be seen or targeted (it is, effectively, invisibility), however they can still be hit by non-targeted spells. To reveal units in the Fog of War, an allied unit must gain vision in that area. Observer Wards will provide vision in an area to their team.

If a unit in the Fog of War attacks an enemy that does not have vision of them, they will be revealed temporarily.

Elevation and Trees
Units cannot see areas that are on higher elevations than them, while units on higher ground receive unrestricted vision below. Additionally, any ranged units attacking an enemy on higher elevation have a 25% chance to miss their target. Trees also block vision, and can be used to escape enemies by running through small gaps in them (known as "Juking"). When Trees are cut down or destroyed, they no longer block vision. Targeted abilites also disjoint if in animation phase even if successfuly cast on a enemy that entered fog of war via elevation.

Day and Night
Most units have different vision ranges for the day and night cycles. Generally, units see a lot farther during the day than they do at night. Most heroes have 1800 units of vision during the day, and 800 at night, though there are several exceptions. This makes ganking a lot more viable at night, because Heroes can get much closer without being detected.

Below is a table of all exceptions to the 1800/800 rule: