I struggled a lot to get difference between sapui5 and Fiori. So In this Document i am going to write what I got in my research.
UI5 is mainly developed for SAP mobility which means Fiori.
UI5 is a framework based on MVC pattern.By using this frame work developer can easily build web application.
From above you can easily understand that It will run on any device.
UI5 is SAP own user interface to develop web application.
UI5 is now a days is getting popular to outside of SAP to build NON-SAP application also.
SAPUI5 is Hybrid app (Because of HTML5)
SAPUI5 Apps runs on multiple platforms with full capability as like native apps such us SMP.
Fiori is a new user experience for SAP software . To overcome the complexity of SAP traditional GUI ,New one has been developed which is Fiori.
Fiori focus mainly on mobility. Fiori uses SAPUI5 for frontend and it uses odata to get back end data.
Without knowing SAPUI5 knowledge fiori customization is difficult. Fiori contains all the business process in the form of Role based.Currently more than 1000 roles are created based on business process.
One code line for all screen sizes.
SAP back end contain Business logic and odata service.
SAP front end which means Net weaver Gateway server contains SAPUI5 control libraries and App specific Fiori UX add-Ons.
In SAP ECC 6 and Ehp7, we can create odata service by using SEGW Transaction.
Fiori apps are Hybrid which means based on web technologies(SAPUI5) and will be connecting to SAP via SAP NW gateway .
The below link will describe the fiori architecture overview and prerequisites
SAP UI5 is Mother for All Fiori Apps.