JTAG is also used in case you have the SignalTap activated to have some kind of "on chip Logic Analyzer" and to access content of instantiated RAM-blocks (memory editor) - with NIOS II the JTAG is also a communication interface to the PC...
Thus JTAG is not only (but also useful) for pure hardware testing (boundary scan) but for debugging :-D Especially as this speeds up firmware development for new firmware can be loaded and tested w/o power OFF - connect programmer - Power ON - update EEPROM - Power OFF - disconnect programmer - Power ON => new firmware is loaded...