As of today (and the last months, not before, Marat did not play), Nikolay is the best russian player. I don't think Marat would disagree with that.
Nikolay is more consistent, in top form, reliable. There is not much to change there (some more luck, less federer in slams, and better preparation as he's sometimes exhausted because of too much play). Marat has been getting better, and hopefully things will keep better and better.
BUT because of their styles of play, Marat "appears" more aggressive (=better for a lot of people, even though it is not necessarily true). Some people just forget that Nikolay's results in slams are nothing to be ashamed of. He is really competitive in 3/4 of slams.
I can't really compare him to Kafelnikov, I have to admit I don't remember much from him, such a bad memory...
About the russians, I think a lot has to do with ego. Matches with people of your own country are different, "special".
Marat is like every one else, sometimes he wants to win but still loses. When Kolya beat him in Moscow, I'm pretty sure he really wanted to win. Like this whole year, he wanted to win more matches, but it takes more than willing and being focused. Things seem to be falling back into places for him, I just wish him a very good start to 2007. And hopefully Nikolay will keep up the good work as well.