Vertical vs Horizontal Slice

Slicing horizontally means breaking down project as per architectural layers (UI, business, services,data). You may have dedicated teams to work on each layer. IProblem is until all layers are developed and integrated nothing can be shown to business and obliviously nothing can be delivered. Everything has to go in one go. Net effect is that the client cannot use the application until a significant portion of each later has been completed. This caused delay in feedback loop and end product might give unpleasant surprises.

Slicing vertically means each user story incorporates functionality at each later. When a story or a feature is split vertically then a just this chunk of work get developed in all the architectural layers and we have opportunity to demo this story to team and get any feedback which can be applied and used to next story. Again remember that story tells you what the functionality should be and doesn't describe any thing about work required in UI or service layer. It is good idea to create multiple tasks for this user story.