A "Material" is basically instructions for a renderer, and in most cases the materials are very specific to a certain renderer. In the case of Blender, Eevee might render the same as Cycles, but not always. In general, a Material will not work outside of its native program. These Material instructions tell the renderer how to color and shade the surface. The color can be either a simple flat color, or a complicated set of nodes that make detailed surfaces like wood, scratched metal, or simply an image. The Material settings typically define things like color, reflections, or how bumpy something is.
UV mapping is a set of coordinates to relate a 3D model to a flat image. In essence you're just saying "this point here on this model maps to that point there on that image." That's how the 3D program knows where to put a texture map on a model. Otherwise, the program has no idea how to wrap a texture around a 3D model.
UV coordinates, being simply numbers, are easily translated when you export a model from Blender to, say, .fbx, or importing a model INTO Blender. The coordinates of all the vertices and the UV mappings keep their relationship, so you can apply an image in a game or other program and it still looks correct.
However, as I mentioned before, a Material doesn't translate easily. Unity has no idea what to do with Blender materials. Blender has no idea how Mental Ray, Octane, etc. work.
In your list:
I will use only flat colors (as the videos above)
- no. You can make quite complicated Materials in Blender without using textures or UV mapping. For example:
I don't need to import a model in the game
- yes. a game will have a different renderer than Blender and won't know what to do with your Material settings.
I want to share model on social media like illustration/image
- depends. If you share a model on a Blender site like BlendSwap, you can use Materials, or if you know your consumers will use Blender.
I want to export model in .fbx file format to share with someone
- no. You could only use a UV-mapped image.
I want to render model in Blender Cycles (on the second YouTube video she used Blender Render)
- yes. Cycles can handle complex materials.
I want to rig model and maybe to make animation
- yes, as long as you render it within Cycles (or Eevee, or Blender renderer)
HOWEVER - you can certainly "bake" a Cycles material into a UV mapped texture and then use it as if were an image. The material won't, by default, stay on an exported model. See this answer for detailed info on baking: Export cycles material to unity