In many CFD text books, usually there is a dedicated chapter for advection term discretization. Why discretization of such term in advection-dominated problems and near the discontinuities is challenging? I need some mathematical reasoning And how this is linked to the problem of boundedness and numerical diffusion?
The difficulty is relative to something, in this case it is relative to diffusion dominated problems.
Diffusion dominated aren't "easy" either, they have their own set of problems.
I'll start with some favorable qualities of diffusion problems, and then mention why they are not present for advection problems:
Discretizations are often symmetric and definite. If they aren't symmetric then they still are usually definite. - this enables use of better linear solvers in some cases.
Smoothness of solutions is often guaranteed under very relaxed assumptions on input data (source term, boundary conditions). This isn't always true, but it often is.
Scale separation: it's often possible to separate small-scale behavior from large-scale behavior. This allows preconditioners/solvers like multigrid where different scales of physics are targeted by different levels of the preconditioner.
Now let's look at advection problems:
Discretizations rarely result in symmetric and definite matrix. Can potentially be indefinite.
Much fewer smoothness guarantees. This is problem dependent.
(almost) impossible to numerically separate scales. Stability requires you always resolve the smallest scale, which is often expressed as a relationship between grid spacing and advection speed. This means classic multigrid strategies won't work because the coarse grid will be aliased. In some cases this isn't strictly true because the "fine grid" may be very over-resolved compared to advection speed because of things like discontinuous coefficients, and in those cases multigrid may work, but only if the coarse grid respects the stability conditions.
But in other respects, advection problems can actually be easier than diffusion problems. It really depends on what you want.
time-dependent Advection problems are usually easier to get time-accurate solutions for than diffusion problems, because they often only involve first derivatives and this results in favorable CFL condition (again, depending only on advection speed). You start to lose this advantage when your discretization has variable order of accuracy, though.
If you use implicit time-stepping then the matrix conditioning is often better than a similarly discretized diffusion problem.
Edit: I should point out that I haven't touched on nonlinear problems here. That creates its own set of unique challenges which I'm not qualified to comment on.