Small and little both refer to the size of something but small is more common and neutral.
I have a small/little flat in the town centre.
Little (not small) also expresses sympathy or a liking:
We spent our holiday in a lovely, little cottage by the sea that I would love to go back to next year.
When talking about children, little refers to age (= young) while small refers to height (= short):
He plays the piano very well considering he is so little (young).
He was too small (short) to ride his brother’s bicycle.
In comparative and superlative sentences, small is used rather than little:
Even though our car is smaller than theirs, it uses more fuel.
It is the smallest camera I have ever seen – it looks like a toy.
However, little can be used to talk about quantity but small cannot be used in this way:
Could I have a little bit of mayonnaise, please?
He couldn’t resist having a little ice-cream after his meal.