In a mixed model, the fixed intercept is the approximate mean* of the dependent variable when all predictors are at 0. So when X1 and X2 are equal to 0. This may or may not be a relevant value if, for example, X1 and/or X2 do not contain 0. This is one reason that centering is an important topic in mixed/multilevel modeling.
The variance components refer to the estimated variance(s) of the random intercept(s). In your case, it appears you have a three level model, with observations nested within year nested within MainCategory. The
as.data.frame(VarCorr(model1)) command gives you the variance estimates (components) of interest. In terms of reporting anything beyond the variance estimate itself (e.g., 0.038 for
YEAR:MainCategory), I suggest consulting this thread on whether and how to report standard errors for random effect variance estimates.
Out of curiosity, how many years are in your dataset? If less than 10, you may want to consider including dummy variable year indicators in the fixed part of your model rather than treating year as random. There's lots of debate on this issue, but it's worth considering particularly if you have only a few years worth of data.
*Edit: This would be the case for a linear model, but with a generalized model (binomial outcome distribution with a logit link) you get the estimated log odds of the dependent variable for the average subject when the predictors are at 0 and the random effect is at 0 (see Dimitris' helpful comment, below).