The questions need to be answered specifically for FPGA family and dev board. A few general points though:
The JTAG port of a FPGA can have different functions. Generic functions available with every FPGA are boundary scan and volatile configuration, also non-volatile configuration of flash based FPGA. Other functions (programming of connected memory, debug functions like Chipscope/Signaltap) are provided by software.
Dev boards with on board USB-to-JTAG bridge respectively vendor specific JTAG adapter may provide an additional native JTAG port, e.g. to allow connection of other JTAG tools incompatible with the on-board adapter. In this case, a mux switches the FPGA JTAG port between both interfaces.
Although programming of configuration memory, e.g. SPI flash, can be conveniently performed through FPGA JTAG functions, it may be desirable to have direct access to the SPI interface by an external connector.