Combine rice, milk, water, sugar, and salt in a heavy saucepan. Choose one with enough room for the milk to rise as it heats.
Warm over medium heat, stirring frequently, until the mixture reaches a gentle simmer. Lower the heat before it begins boiling vigorously.
Cook uncovered at a very gentle simmer for 30–40 minutes, stirring often across the bottom so rice and milk do not scorch.
As the rice softens, stir more frequently and check the consistency. The pudding should look creamy and loose rather than dry and stiff.
Taste a few grains carefully after cooling them on a spoon. They should be tender throughout, without a hard central core.
Stir in vanilla, cinnamon, and optional raisins. Cook 2 minutes more if the raisins need a little time to soften.
Remove from heat and rest 10 minutes before serving warm. Add a small splash of milk if it thickens beyond your preferred spoonable texture.
For cold pudding, transfer promptly to shallow containers and refrigerate. Stir before serving, loosening with a little cold milk if necessary.