Subdivide vs subdivision modifier This is based on Grant Abbitt's beginner tutorials. One of the things I needed to do was inset a square to make a circle. So originally it had 8 vertices, but then after extruding it inwards, I face selected only the circle, and went under Edge->Subdivide.

Clearly, it looks wrong, and even after applying the subdivision modifer, it still has an uneven surface.

After that I followed the tutorial and did it the right way. Instead of applying subdivide over this circle, I used subdivision modifier on the whole object directly and obtained the right shape.

May I ask why? Is it because edge->subdivide is a simple subdivision(non catmull-clark)? So after I use the edge->subdivision on my original(wrong) circle, further use of the subdivision modifier wouldn't make the circle even. Because the simple edge subdivisions have already led to the wrong topology, so catmull-clark's interpolations will not help.
Just want to see if my understanding is correct.
When subdividing only the vertices inside the circle, you created N-Gons. That means that some of your faces had more (or maybe less) than 4 vertices. 

As you have guessed, the catmull-clark interpolation for subidivison does not work well with n-gons and can produce a messy result.

There are multiple ways to locally add some finer details when using a subdivision surface modifier but the one you used will produce a bad shading if you do not retopologize the area to avoid n-gons.