I am trying to build a utility where a user can upload a pdf or word and after successful upload, it should create a record in salesforce by reading that pdf/word? Is it something doable? If not, can it be stored as an attachment and create a record from that attachment?
This is technically possible, not not really practical or feasible.
PDFs and .docx files are complex beasts. PDF is probably the simpler of the two, but it's still not something that you can just grab text out of. docx has the additional complications of being a zipped directory containing xml (for the "main" sub-file in the document).
Apex doesn't have good support for binary streams, and no native support for zipping/unzipping files. It is possible to write an unzip utility in Apex, but the platform limits on heap size and CPU time makes it so that you could only handle small files (I think I remember reading some speculation that you wouldn't be able to work on a .docx more than about 1 MB in size).
Storing as an attachment won't help you here either, since the main problem you're up against is accessing the data in the document.
CSV files and the Salesforce-provided Data Loader is the established way to generate records in SFDC from a document.