Schema To Improve SEO
Google plays very well with Schema since it clearly defines parameters that a Google crawler would love to look for. The Schema vocabulary will be used to explain the purpose and layout of a web page to Google's web crawlers so that content and keywords are easily recognized when deciding ranks of websites. It is also a good idea to display certain contact and business information so that Google can correctly identify and list your business.
To put it simply, search engines love Schema because it names entities. Entities are what ties search engine results together and display pages that are relevant within certain niches. Taking advantage of having the right entities on your page will make your page relevant to even more types of web searches. The more entities you drop in the Schema vocabulary will likely benefit your ranking capabilities.
Should Schema Be Used On Every Page?
Schema should be used as much as often, but it is more necessary for larger websites rather than smaller blogs (like portfolios). For a business, dropping address information in headers or footers of every page. will allow for recognition by Google. If you want different types of data to be picked up on different pages, you will want to use separate Schema information rather than a full-size template. It should also be noted that you should revise each page to see if anything conflicts with the Schema parameters or else it may hurt your SEO.
You should also consider what each page is about before putting in Schema information. Google is pretty astute at picking up the typical relevant pages, like "about us", so using Schema may be a bit redundant.