I know that there are some noun that are made plural by the kanji repetition character, such as 人々 and 国々. My question is, how does this differ from using the non-plural form of the noun? And how does 人々 differ from 人たち?
Roman Jakobson famously said:
"Languages differ essentially in what they must convey and not in what they may convey."
His point was that every language can sufficiently convey any idea that can be expressed in another language. The difference is that for each language there are some properties that must be specified when an idea is conveyed, even though they may be entirely optional in another language.
In English (and in many other languages), every noun must be marked as singular or plural. In Japanese marking plurality for a noun is not mandatory. This does not mean that Japanese speakers can't convey the idea that a noun is singular or plural if they want to, it only means they don't have to — and indeed in most cases Japanese speakers will not explicitly specify if whether a noun is singular or plural.
When we look at the differences between languages where a grammatical category (such as number or politeness) is mandatory to languages where it is optional, we notice two trends:
When a grammatical category is mandatory, it tends be much closer to the grammatical core of the language. This means that it will more often be part of the inflection of words and have some irregular rules (like the plural in English, and this is even more prominent in the past tense in English which is highly irregular). Optional grammatical categories are rarely marked by irregular morphology, and are sometimes marked by just a normal noun or an adverb.
When a grammatical category is optional, there is usually more possible ways to express it. Mandatory grammatical categories, on the other hand, tend to be more rigid in structure, and almost always have just "one true way" to express them.
When it comes to the category of number (plurality), Japanese play perfectly well with both tendencies, especially with the second, so I can count at least 5 possible ways you can mark plurality of nouns:
The suffix ーたち (達). This is the most commonly mentioned method, but it's not the direct translation of the English plural marker for various reasons. For one, it doesn't go so well with marking inanimate objects. Traditionally it was used only for animate nouns, especially in reference to humans, but today you can easily find it with inanimate nouns such as 本たち or 国たち. Still, as far as I can judge, this usage still feels very quaint and heavily marked, often giving a sense of personification to the objects you add たち to. So this is not the normal route you'd go when you want to mark plurality for an inanimate object.
The suffix ーら (等). This one dates back to Classical Japanese, and was actually more common back then than today. Today it's either dialectal, or used with just a small set of words, mostly personal nouns, such as: 彼ら、あいつら、お前ら. It is also the only suffix you can use with the demonstrative pronouns これ・それ・あれ: you can say これら, それら and あれら, but not これたち・それたち・あれたち. When you can choose between this suffix and たち, the nuance in meaning can vary according to the word. Some words may feel very quaint or dated when used in ら, while others (e.g. お前ら) may feel slightly more rude.
The suffix ーども (供). This one is more flexible than ーら in the sense it can be combined with more words. But it's considered very humbling, which rules out using it in most contexts. Generally, it is used either to show contempt to a group of people (e.g. 野郎ども), or when speaking about yourself humbly in highly formal situations (私ども). It's interesting to note that the word 子供 was originally constructed with 子 (child) along with this form of plural, but it has long lost its plural meaning and can easily be used for a single child or several children, and you therefore you often hear 子供たち, which is actually not so different than what happened in English.
Reduplication. This mechanism does not necessarily produce a plural: 時々 means sometimes (as an adverb) instead of times and 色々 means various instead of colors. Reduplication is also one of the two most common patterns of onomatopoeic expressions or manner expressions (擬音語 and 擬態語) (蝶々 also fits into this category, but this specific word is material for another question). Still, this is one of the more productive ways to make plurals in Japanese. One of its great advantages over たち is that it feels more neutral with inanimate objects. On the other hand, it only works with short word, usually those one-kanji and one or two morae long. Others have already answered about the nuances of this form gives when used for marking plural, so I will not delve into that.
By adding to them an explicit quantifier (e.g. 三人のフランス人、１０枚の写真, たくさんの国). This is an often overlooked method, but it definitely marks nouns as plural.
But the most overlooked option of all is the sixth option which is not to mark plurality at all. It may be kind of baffling to us speakers of languages with mandatory number, but in most real-world cases the grammatical number of a noun doesn't really matter enough to warrant special attention, and when it does matter it can be often inferred from the context, so the plurality marker would be superfluous, and actually make it seem like your emphasizing the plurality of the noun, when you don't really mean to.
When you say:
It can either mean 'Americans are taller' or 'The American is taller', depending on the context. If I see this sentence out of context I'll probably interpret it in the first way, but if I see it in the context of having an American guy and a Canadian guy sitting together, I can understand this as: the American is the taller than the other guy.
The difference is easy. 人たち isn't a valid word in Japanese; it's not listed in the Kojien (広辞苑, Japanese official dictionary)
Having said that, the usage is:
人々： Refers to many unspecified number people, emphasis on the fact that there are many (e.g. ドイツの人々はタフだ --> Many people in Germany are tough. )
人たち: Refers specific group of people that includes more than 1 person. (e.g. ドイツの人たちはタフだ --> All Germans are tough. )