As you probably guessed, you need a lake to experience lake-effect snow. The primary factor in creating lake-effect snow is a temperature difference between the lake and the air above it. Because water has a high specific heat, it warms and cools much more slowly than the air around it. All summer, the sun heats the lake, which stays warm deep into autumn. When air temperatures dip, we get the necessary temperature difference for lake-effect snow.
As the cool air passes over the lake, moisture from the water evaporates and the air directly above the surface heats up. This warm, wet air rises and condenses, quickly forming heavy clouds. The rate of change in temperature as you move up through the air is known as the "lapse rate"; the greater the lapse rate, the more unstable a system is—and the more prone it is to create weather events.
Encountering the shore only exacerbates the situation. Increased friction causes the wind to slow down and clouds to "pile up" while hills and variable topography push air up even more dramatically, causing more cooling and more condensation.
The other major factors that determine the particulars of a lake-effect snowstorm are the orientation of the wind and the specific lake. Winds blowing along the length of a lake create greater "fetch," the area of water over which the wind blows, and thus more extreme storms like the one currently pummeling the Buffalo area. The constraints of the lake itself create stark boundaries between heavy snow and just a few flurries and literal walls of snow that advance onto the shore. The southern and eastern shores of the Great Lakes are considered "snow belts" because, with winds prevailing from the northwest, these areas tend to get hit the hardest.