My take is that a GTX 970 is still an excellent buy for the price, especially if you are playing at 1080p. Maxwell is really a powerful and efficient architecture, with good compute performance so it has no real weaknesses.
The only time I would caution against buying a GTX 970, is if you are playing at higher resolutions; specifically 1440p and above. If you are playing at 1440p and above, I would definitely get a GTX 980 instead.
Why? Well it's not just because of the VRAM issue. Due to the deactivated crossbar, the GTX 970 has a 224 bit bus instead of the full 256 bit bus on the GTX 980, so bandwidth to the 3.5GB is actually 196 GB/s compared to the GTX 980's 224 GB/s access to it's 4GB.. This can make a big difference at times in bandwidth limited circumstances. On average the GTX 980 is 15 to 19% faster than the GTX 970, but in bandwidth limited circumstances (ie higher resolutions, more AA or lots of compute shaders), the performance gap can rise to 30% and even greater in some cases..
The biggest strength of the GTX 970 lies in it's ability to overclock. Since it has such a low TDP, a well designed aftermarket GTX 970 usually has no problem overclocking to 1500 MHz with no voltage adjustment (and sometimes no fan adjustment), which is basically free performance.. At that speed, it's nearly on par with a stock clocked GTX 980..
So yes, the GTX 970 is still a great option and a very capable GPU