It's not capitalizing form fields but automatically running sentence case.
If you break text with a '.' or start a piece of text in a new field it will automatically capitalize the next letter as it guesses that you've ended one sentence and started the next.
In cases where you don't leave a space after the '.' it assumes you're typing a web address and does not capitalize the next letter.
Quite a few systems behave this way and it's well accepted by users as it generally saves them from having to break their train of through while they hit the 'shift' key.
However, implementation is key here. As has been mentioned in "Name"'s answer, there are ways to turn this on and off using HTML - HTML5 has specific field types that can trigger different keyboards in mobile devices. Lazy developers sometimes just use a standard text field and, therefore, automatic sentence casing is turned on for those fields.