Ahthough It's not difficult at all for native Chinese speakers: when to use 普通 and when 平凡, it may be a big headache for CSL learners. When it comes to the subtle differences in meaning and use, I'd say, roughly: 1. 普通is more commonly used and 平凡 is more literary. 2. 普通is neutral and 平凡is often used with an approving tone. 3. PAINFUL COMPLICATION, THE COLLOCATION AND THE CONTEXT:
我只是个普通人 ✔ 我只是个普通的人(formal or literary, unnatural in daily language)
我只是个平凡人（？，at least feeling unnatural）, 我只是个平凡的人 ✔ （literary）
The best and most efficient, reliable way to figer it out is YOU FIND IT ON YOURSELF: SEARCH IN CORPRA for Chinese language AND FIND AS MORE AS POSSIBLE USAGES of 普通and 平凡. Read and compare and you'll gradually make out what the underlying meaning-diffences ever are. ( corpara for Chinese language are fewer and poorer presently than english ones, but you can use them in Chinese learning, still.)
Enormous actual usages: this is the way how everyone learns his/ native language and why a foreign learner, if not immersed in it for a long time, can hardly speak it as good as a native.