Is there any difference between Puranas, Upapuranas and Mahapuranas? What should we follow?
The one difference between Maha Puranas as Upa-Puranas can be found in Shreemad Bhagvat Purana ,(Skandha 12 Chapter 7 Shloka 9-10). This whole chapter is about characteristics of puranas.
According to this chapter the main difference between Puranas and Upa-Puranas is , Maha Puranas have Ten characteristics where as Upa-Puranas are only having Five characteristics.
Following are the characteristics of Puranas - 1) Sarga 2) Visarga 3) Vrutti 4) Rakasha 5) Manvantar 6) Vansha 7) VanshanuCharit 8) Sanstha (Pralay) 9) Hetu (Uti) 10) Apashraya.
सार्गोsस्याथ विसर्गश्र्च वृत्ती रक्षान्तराणि च ।
वंशो वंशानुचरितं संस्था हेतुरपाश्रय ॥
दशभिर्लक्षणै पुराणं तद्वि दो विदु:।
केचित् पञ्स्च्रविधं ब्रह्मन् महदल्पव्यवस्थया ॥९-१०॥
sargo ’syātha visargaś ca vṛtti-rakṣāntarāṇi ca
vaṁśo vaṁśānucaritaṁ saṁsthā hetur apāśrayaḥ
daśabhir lakṣaṇair yuktaṁ purāṇaṁ tad-vido viduḥ
kecit pañca-vidhaṁ brahman mahad-alpa-vyavasthayā
Meaning - O brāhmaṇa, authorities on the matter understand a Purāṇa to contain ten characteristic topics: the creation of this universe, the subsequent creation of worlds and beings, the maintenance of all living beings, their sustenance, the rule of various Manus, the dynasties of great kings, the activities of such kings, annihilation, motivation and the supreme shelter. Other scholars state that the great Purāṇas deal with these ten topics, while lesser Purāṇas may deal with five .SB 12.7.9-10