Yeah people have pretty much said the jist.
Basically the term muddy means that the different instruments in a mix are undefined and lack clarity.
When you make a mix, you want to give each instrument its own space so you can hear all the different instruments as clearly as possible. If for example you have a mix with a loud and clear lead, but you strain to hear all the different instruments in the background, then your background mix is muddy.
Reverb as Protodome said can be a reason, if the reverb is particularly excessive. A lack of EQ or bad EQing can contribute to the problem because if you have two instruments that take up similar spaces in the frequency spectrum or similar "roles" - like two basses at once - they can both end up fighting for the same space in the frequency spectrum. I like to think of it like a jigsaw puzzle, all the pieces have their place in the mix.
Ways you can get around muddiness is:
EQing - like I mentioned before, changing the frequency range of certain instruments can help. Say you got a strong bass but you got another instrument - say a polysynth for example - thats bass heavy which is mudding up the mix? Bring down the bass frequency in your polysynth instrument to make room for the bass instrument.
Panning - if you have two instruments in similar frequency ranges, you can pan them both slightly to each side, which can help balance out the soundscape.
Mixing Levels - just changing the levels of certain instruments can help. If everything is at the same level, they all fight for the same "attention" in the mix.
Hope this was helpful in some way. Not sure I mentioned everything but hope this gives you an idea.