You mentioned already yourself that functionality of the second declaration is more rich than the first. Moreover it is compatible with the interfaces of other standard containers.
The both occupy the same size in memory because the only data member of the template declaration is an ordinary array. And I do not see any difference in the speeds.