Question regarding rendering fields in node.tpl.php
That should be print render($content['field_service_summary']); (notice the $ sign prefixing the variable name).
It's technically OK, but unless you've customised the preprocess workflow to a large degree, what you'll find at $content['field_service_summary'] is actually the result of a call to field_view_value() anyway, so you're just duplicating logic. If you find that method to be the way forward for whatever reason, at least move it into a preprocess function so it's not cluttering up the template file.
When nodes are loaded, they get field data attached to them. That data is in a certain format. When a field is viewed (e.g. with field_view_field()) that data is restructured into a render array, suitable to be run through render()/drupal_render(). The arrays might well contain the same data in some places, but they're formatted differently for their various different purposes.
It's a reference to the node object. It might be used by a theme/render function, or it might not. Core puts it there by convention. Remember it's just a reference to the object, it's not a duplicate.