By default CSV layers cannot be edited. You have to save to a different format, e.g. Shapefile, before you can start editing.
Update 2015-11:
There's a new plugin that solves this issue called Editable GeoCSV. It can handle x and y columns for points or a WKT column. For more details see http://giswiki.hsr.ch/Editable_GeoCSV_QGIS_Plugin
Interesting! I don't usually drag and drop files, but I could add fields to a CSV layer when I tried this. Which feels wrong :)
The changes weren't saved when I committed the changes. I could only get the changes to commit if I saved it as a new CSV file using save as... (Tested on QGIS 2.16.3)
I usually use CSV as a quick way of getting data from python scripts into QGIS, by writing WKT into a CSV. I have to use TAB or pipe (|) as a delimiter because WKT contains commas. If you drag-and-drop you don't get the option to set the delimiter and it assumes commas.
Take a look at the layer capabilities with the different scenarios (use Layer Properties > Metadata and scroll down the Properties section to look for Capabilities)
If you import a delimited layer (with geometry) you should see...
Create Spatial Index, Fast Access to Features at ID, Curved Geometries
If I drag in a CSV file, or import one without a geometry, I see
Add Features
Notice that in both cases, there isn't an "Add attributes" capability. This might explain why I need to save as a new CSV.
The GDAL/OGR CSV driver doesn't allow in-place edits (no 'Add features' or 'Add attributes' capabilities).
I suspect that when you drag in a CSV file without a geometry, QGIS treats it as a text file. If you import a csv and the geometry is recognised, the GDAL/OGR driver is used, and it won't let you make edits.
Best Answer
You cannot just change the content of a csv. However, you can try the followings:
In the Table of Content of Arc, right click on the csv -> Data -> Export, you should be able to get a file geodatabase table, you can add field there. So now you can join the layer to it and then add field.
Instead of joining the layer to the csv, try joining the csv to the layer. Then add field to the layer