To complement the answers of FumbleFingers and apaderno (kiamlaluno), it's worth noting those instances when little is used to denote a personality trait.
In this example the adjectives “little” and “small” are interchangeable, they modify the noun dog. It means the dog is particularly small, unless it is said jokingly of a Great Dane or Doberman.
- little/small boy(s)
- little/small girl(s)
- little/small children
These examples invariably refer to young children but in the following cases, the meaning changes, and quite significantly too
In the common expression "little old man", we are referring to either an elderly man who is short in stature, e.g. “He was a little old man who lived alone” or as an insult, e.g “You little old man” suggesting that the person (who could even be middle-aged) is insignificant and contemptible.
This expression – note the obligatory definite article – is often used in the US and refers to the common person, the everyman who has little (it's never small!) political power or status.
Depending on context, it can either suggest that the man is small in height and build or his position and role in life is trivial, e.g ”He's just a small man in a small business.”
On the other hand, the expression little old lady evokes an elderly sometimes frail woman, who might even have a cheerful disposition, e.g. "She was a sweet little old lady”.
Google Ngram shows that the expression "little old lady” is far more common in print than its equivalent "little old woman” or when "little" is switched with "small”.

In the end, the choice between small and little often depends on context.