Layers based on KML files are most likely to cause such problems. KML does not offer all possibilities we use in QGIS, and has other features we can not handle in QGIS. In such cases, editing of the layer will be abandonned by greying the button out.
Best practice is always to load a KML, save as shapefile (or spatialite database), delete the KML layer and work on with the shapefile(s).
For the styling, you can save the styling for every layer you created as .qml file, and reload it in another project.
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
I just downloaded one of the files in the repository that you linked to (brazil_yield.asc) and tried to import the file into another GIS program. I also ran into an import error. I finally tracked the error down to an attempt to convert a blank cell to a numerical type. In other words, there are blanks in the file because they have been improperly formatted. Rewriting the import tool to ignore blank cells resulted in a successful import. There are several places in the file that have two spaces in a row. See the figure below.
For a proper space delimited file, there can only be one space between each number.