single table to reduce joint queries?
It is not a good idea to put the category_name in the product_information. This way you will 'break' the normalization. Instead of storing the category_name 15 times you store the same name multiple times. You speak about gaining on joining but this will give you, taken the limited number of rows in category_details, not much advantage. The whole category_details table will be in memory and you only need to join if you need the category_name.

You say that you have about 15 categories. I suppose that you have (many) more product. So this makes it a one-to-many relation which is the second case in the answer to MySQL: multiple tables or one table with many columns? that you mentioned in a comment. There it mentions that in the case of a one-to-many relation you must put the information in separate tables.

Also look at the application level. If somebody has to enter each time a category_name you might end up with the same name but spelled different. This will make it hard to search on it.