Literally, both words mean dress in Italian. So what's the actual difference? Does "vestito" refers to all sorts of garments? Please explain. Thank you
“Vestito” and “abito” are more or less synonyms, but not quite: the former can be used also in colloquial situations, while the latter can’t and tends to be used in more formal contexts.
The difference, however, is subtle, and I’ll try to illustrate it with an example. Imagine a couple going to a soirée: we are speaking, here, of a formal context, and indeed the invitation card probably bore the remark “È richiesto l’abito scuro” to indicate that a formal dressing was required. It would be unthinkable that the word vestito were used in this context, because in an invitation card a formal language must be used. But imagine now that, before they go out, the wife questions her husband’s choice of his suit by saying “Che razza di vestito ti sei messo?” (“What sort of suit did you put on?”): here, the word abito wound sound absolutely unnatural, and a native speaker would never use it, because in this case the word is used in a familiar context. Note that the man’s suit, in itsels, remains the same (and is, in itself, a formal dress): what changes, and what matters, is the nature of the communicative context (formal vs. colloquial) in which it is mentioned.
I agree with GuM and I have upvoted his/her answer. However tent is also right. The point is subtle indeed, as in opinion the singular plural play a role. By vestiti, one generally means clothes.
An example - as I am a scientist not a linguist I lack of proper nomenclature : - Although there is a specific word for it (guardaroba), a closet wallet containing clothes can be referred to as "armadio dei vestiti", and this is so independently by the actual content. It can be full of abiti da sera, yet it contains clothes.
Moreover, to dress up, to put the clothes on is "vestire" (mi vesto, due minuti e sono pronto = give me two minutes, I put my clothes on and I am ready).