What are the differences between estimation and detection optimal filters (matched and Wiener)?
If you want to maximize the signal-to-noise ratio using a linear filter in the presence of additive random noise, then it can be proved that matched filter is the optimal filter. It is usually performed for detection of a known waveform.
If you want to minimize the mean square error of estimation of a desired signal corrupted by additive random noise by a linear filter, then it can be proved that wiener filter is the optimal filter. It is usually deployed to estimate a known stationary target signal.


About what detection and estimation is, consider the radar example. Detection is to find out if there is a plane/target. If it turned out there was actually a target and it was detected, then we would like to estimate its speed, altitude, etc.

A more relevant example for detection is digital communication. Assume we use on-off keying, that is, we send a waveform if we want to represent a bit $1$, and don't send anything if the bit was $0$. During the time interval of communication of each bit (timeslot), a liner filter which is matched to the waveform of bit $1$ can be used to detect if there is a bit $1$. If no waveform was detected, then it is assumed that $0$ is sent.

An example for wiener filtering is signal compression. Assume you want to compress a stationary process $x(t)$. One approach is to estimate it using a wiener filter whose input is just white noise. Given the target signal $x(t)$, the wiener filter can form the spectrum of the white noise such that its output has the minimum mean square error compared to $x(t)$. Now the coefficients of the wiener filter (plus a source of white noise) would be enough to reproduce $x(t)$.