Imagine the grid is a map on a table. You scan the map with your finger, row by row. The moment you touch a piece of land: write down "Found one!", pour water over that entire connected piece of land (sinking it), and continue scanning.
Next time you pass that cell, it is water, so you ignore it. The "pouring water" step is DFS marking all connected land as visited. This visualization shows why you do not count the same island twice.