One more question from a developer startin with Sitecore, who had a point of confusion between templates, standard values and branch templates (link to the original question on StackOverflow).
Templates. For mature .NET developer it would make
sense to think about templates as about C# classes - they define the
data structure for the items that would be created on that particular
template. Like classes in C# they may be inherited, but unlike in C#
multiple inheritance is supported with them.
Official documentation on templates is quite descriptive and handy: https://sdn.sitecore.net/upload/sitecore7/70/data_definition_api_cookbook_sc70_a4.pdf
Standard Values is a kind of blueprint prototype
item for your template. You create some default values that will be
auto-filled as soon as you create an item of that particular template.
Standard Values item is a child item of a template definition item. You
may also use tokens - dynamic values like $name, $parentname, $date,
$time, $now, $id and others (you may also create your own tokens).
Please read more about standard values: http://goo.gl/uUZJZf
Branch templates allow you to re-produce a sub-tree
on instantiation, not just one item, but also some children (and
children of those children) as you specify in branch template itself. As
on screenshot below, whatever is selected within red frame will be
created as a result of branch template instantiation:
Also, Sitecore items can't inherit from values set in a branch
template. They will always default to the values in the original
template's standard values. This is a limitation of branches (as
described in this SO question: http://goo.gl/PSElYy)
As far as I understood your case, you should have a branch template
called Store (somewhere underneath /sitecore/templates/Branches) and
within that item reproduce exact structure that will be created on when
template is used to replicate into a new branch in your content. Again,
you may use tokes all around branch template (at any level) - they would
be replaced with actual values. Likewise, when you use your Store
branch template to create Walmart, you may auto set its display name to
Walmart by using $name token.