StartActivityForResult is subtly different from startActivity. The former is used if you want to return something(s) easily. For example, lets say you have a list activity full of twenty options that are tied into a database. If you use StartActivityForResult you can open the list activity and select the item and return it simply. This can tie into other things such as linking your program to the contacts activity, which will allow you to select a contact from the list on the system. If you used startActivity you would not be able to get the contact that was clicked. StartActivity is mainly used for just that starting an activity that will run longer than just a quick selection.
Walk with purpose, and build something.