Your topo map gives you the magnetic declination for your area. The problem is that declination changes over time. In some areas, the changes can be relatively rapid, in other areas, quite slow. According to Natural Resources Canada, for example, the annual declination change in Yellowknife, NWT is "more than one degree every three years," while in Ottawa, the annual change is "almost zero."
Further, the rate of change is not constant, but changes over time. If you have a map of Yellowknife, say, 20 years old, it's anybody's guess what the declination actually is.
Another cool NOAA web page shows you the lines of the earth's magnetism field, and the changes in declination over time. Looking at this page, the green line is what's called the agonic line. Along this line, declination is zero. The red lines show east (considered positive) declination, and the blue lines show west declination (considered negative). Use the little "time travel" slider bar to see how the earth's magnetic field, and thus declination, changes over time. Click on any one of the lines, and you'll get the declination for that line.
Another way to determine declination is to shoot an azimuth on the North Star. If the star bears 000 degrees Magnetic, there is no declination. If it bears, say, 350 degrees Magnetic, the declination is 10 degrees east. If it bears, say, 010 degrees Magnetic, the declination is 10 degrees west.
Don't have a compass that will shoot an accurate azimuth? Sharpen two sticks, one a little longer than the other. Poke the longer in the ground, then behind it poke the other stick in the ground, in such a way that you can sight down the sticks straight to the North Star. Lay your compass on the ground in between the two sticks. Line it up so that your direction of travel arrow lines up with the line between the two sticks to the North Star. If needle falls west of that line, the declination is west. If the needle falls east of that line, the declination is east. Read on your compass, the number of degrees off of True North, and you have your declination, either east or west.
West Declination, in this case, because the needle falls to the west of True North.
Anytime you can relate your map to the terrain, and the terrain to the map, you can determine your declination.
Say, for example, you're walking east down a straight forest road that your map shows running due east and due west. Using your compass, shoot an azimuth down the road. We'll say the compass shows the direction you're walking to be 105 degrees.
If the road runs 105 Magnetic, and 090 True (according to your map), your declination is 15 degrees West. You know it's west declination because with west declination magnetic angles are always larger than true angles.
If you're compass had indicated that the road was running 75 degrees Magnetic, then you'd know the declination is 15 degrees East, because with east declination magnetic angles are always smaller than true angles.
With regard to Grid North, don't worry about it. The angle between Grid North and True North is usually so small as to not make a whole lot of difference.
The earth's center is made up of molten iron and other stuff, which creates a magnetic field over the earth. This field contains a magnetic north pole and a magnetic south pole. In between the two are weird and wavy lines of magnetic force, which move over time. These lines run in a roundabout manner to the magnetic north pole. Your compass needle simply aligns itself with the magnetic forces in your area. Of course, the difference between where your compass needle points, and True North is your magnetic declination.
Since the earth's lines of magnetic force are in constant motion, they change over time, meaning the declination in any area changes, or can change, too.
The following video by NOAA's Geomagnetism Group, in the National Geophysical Data Center does a great job explaining and showing how the earth's magnetism works, and why and how declination changes.