When to vertically partition a table
You should consider vertical partitioning of your table if your columns have different access pattern: some columns are often read and (almost) never updated, others are often updated. 

Unless you have columnstore indexes or covering indexes for your queries, every time you need only some columns a whole row is retrived, so if you want namy rows but for limited columns vertical partitioning may be your case.

Please also take a look on this: Vertical Partitioning as the way to reduce IO

Note that MinimumRecordSize 628 + MaximumRecordSize 7928 means that your rows have fields of variable length data types such as varchar(max), and this means that you did not reach max row size. If MinimumRecordSize was equal to MaximumRecordSize this could mean that you may will not be able to add othe columns to your table, but since MinimumRecordSize is only 628, many other variable length columns can still be added.

When row-overfloing data does not fit in a row, a newe page is allocated to accomodate it and only a small pointer is left on original row that points to row-overflow page containing the value.