A finite impulse response filter is one form of a digital filter. It bases its output value at each clock tick on the input values that it has seen over some previous amount of time (like the last 10 clock ticks, for example). You can design the polynomial calculation that the filter is using for its input --> output function so that you perform a highpass, lowpass or bandpass function on the digital data.
FIR filters are contrasted with infinite impulse response filters (IIR), where the output is dependent on the input data stream, and also dependent on previous output values. It's like the IIR filter has some memory, which means that a single impulse at the input can cause the IIR output to keep on changing forever. IIR filters can have sharper skirts on their filter function compared to FIR filters, but they are also harder to make stable.