Place the lentils, water, cinnamon stick, ginger, cayenne pepper, garlic, and dulse (if using) in a 6-quart stockpot. Bring to a slow boil, then reduce the heat to medium-low. Simmer, covered, for 15 to 20 minutes, or until the lentils melt and become yellow.
Add the onion, cauliflower, tomatoes, and coconut milk, and continue to simmer for 20 to 30 minutes, or until onions and cauliflower are soft.
Add the salt, stir in the optional cilantro or parsley, and adjust the seasonings if needed.
Ladle the hot soup into bowls. Garnish with cilantro or parsley and/or some uncooked onion, if desired.