Depends on the products.
Usually during development it is as you described, loading the files directly.
Then later in development, usually more efficient methods are built. This is usually done by switching file formats to match what is friendly in memory.
Consider that the big cost of loading files isn't the disk transfer, it is figuring out how to store and process the data in the file. A seemingly simple file like a large XML document can be an enormous monster when it comes to memory allocation inside a program; naive programmers will build enormous data trees requiring untold thousands of memory allocations to construct the representation.
Many games avoid this by packing the resources to exactly the format they will be needed on the destination machine. The game can load it all to a large block of memory, fix some pointers to specific locations within the data file, and everything automatically works.
Other times they use data formats that are better suited to the systems. You mention PNG files in your example. While PNG files are great for downloading images on the web since they are tightly compressed, they are terrible for games because of how they expand. There are various texture file formats that can be loaded directly to the card and don't need to be decoded or processed. Their compression ratio is not nearly as tight as PNG, but you can directly pass the file to the graphics card and use it instantly, so it works well.
Many games use tools similar to PhysFS, using a compressed file structure for the final game to save space -- basically a zip file -- but also loading resource files if they exist on disk. This allows developers to work mostly from assets as they will be shipped to customers but still do development with individual files as needed.
i know this is not safe as people have access to resource and they can "hack" it buy changing the resource, etc.
That is generally not a big concern. Yes there are cheaters out there who will replace wall textures with alpha-enabled textures so they can see through them. People will replace enemy textures with bright red or bright orange colors so they can be seen easily. While games can attempt to take countermeasures against it the difficulty and cost are extremely high, and it will always be a "cat and mouse" style game of attackers finding a way thorough, then developers finding and stopping it, the attackers finding another way through, and developers finding and stopping it, repeating until the product is no longer profitable.
Better to just know up front that cheaters are going to cheat and spend your time and energy into creating the best game you can.
thank you for this detailed reply, i will also try PhysFS.